ブロック

SOY CMSで、知っておくと便利なタグ

前回までのブロックを使うことで、SOY CMSの基本的なサイトを作成する事ができるようになりました。

しかし、それ以外にも知っておくと便利なタグがいくつかあるので、それを紹介していきます。

三点リーダー「…」を表示する

記事を作成していくと、トップページやアーカイブページの記事の繰り返し部分で、記事(エントリー)の一部分のみ表示させたいということがあります。

以下の画像のようにです。

この「...」を表示させるためには以下のタグを使います。

このタグは、トップページ、アーカイブページ、記事毎(エントリー)ページで使うことが出来ます。

cms:id cms:length
使用可能なHTMLタグ 全て
解説 対象記事の文字数を指定の文字数に抑え、それ以後を「...」と表示させる。
文字数は、記事の冒頭から数え始める。
使用するブロック トップページとアーカイブページ
b_block:id="entry_list"内
記事毎(エントリー)ページ
b_block:id="entry"内
実際の実用例 <p cms:id="content" cms:length="100">ブログの記事内容</p>

標準ページでもブログページのb_blockを使用することができる

SOY CMSでは、標準ページで使えるブロックとブログページで使えるブロックは明確に分けられています。

そのため、標準ページでブログページで使えるブロック(ブログブロック)を使いたいと思っても出来ませんでした。

しかし、以下のタグを使用することで指定のブログページのブロックを標準ページでも使用できるようになりました。

このモジュールは、標準ページで使うことが出来ます。

cmsモジュール cms:module="common.blogparts"
使用可能なHTMLタグ 全て
解説 今回のタグは、正式にはモジュールです。
標準ページで、ブログブロックを使用できるようにします。
SOY CMSのページ一覧で、該当のブログのURL末尾の数字を覚えておき、cms:module="common.blogparts" cms:blog="*" の「*」の部分をその数字にします。
ブログページの中で、標準ページで表示させたい箇所のHTMLコードをコピーして標準ページに貼り付けます。
そのHTMLコードを囲うように、コードの上下にタグを貼り付けることで表示されます。
使用するブロック モジュールのため、使用するブロックはありません。
実際の実用例 <!-- cms:module="common.blogparts" cms:blog="2" -->
  <h3>カテゴリー</h3>
  <ul>
    <!-- b_block:id="category" -->
      <li><a cms:id="category_link"><!-- cms:id="category_name" -->カテゴリ<!-- /cms:id="category_name" -->(<!-- cms:id="entry_count" -->0<!-- /cms:id="entry_count" -->)</a></li>
    <!-- /b_block:id="category" -->
  </ul>
<!-- /cms:module="common.blogparts" -->

参考記事
SOY CMSで標準ページでも任意のブログページのb_blockを使用できるようにした | 植物のミカタ


ブログのタイトルを出力する

SOY CMSでブログのタイトルを表示するには、「@@blog_name;」等を用いて表示させます。

その他に、ブログブロックを用いてブログタイトルを表示させることが出来ます。

このブロックは、トップページ、アーカイブページ、記事毎(エントリー)ページで使うことが出来ます。

b_block:id blog_name
使用可能なHTMLタグ 全て
解説 ブログのタイトルを表示する。
実際の実用例 <h1 b_block:id="blog_name">ブログのタイトル</h1>
b_block:id blog_url
使用可能なHTMLタグ <A>タグ
解説 該当ブログのトップページへのリンクを生成します。
実際の実用例 <a b_block:id="blog_url">
  <h1 b_block:id="blog_name">ブログのタイトル</h1>
</a>

ブログで記事表示順番号(通し番号)を出力させる

トップページやアーカイブページの記事の繰り返し部分で、それぞれの記事(エントリー)が何記事目なのか表示するタグです。

1ページのうちの何件目の記事番号かを表示します。

このタグは、トップページ、アーカイブページ、記事毎(エントリー)ページで使うことが出来ます。

soy:id index
使用可能なHTMLタグ 全て
解説 ブログの記事表示順番号(通し番号)を出力します。
1ページのうちで、その記事(エントリー)が何番目の記事なのかを表示します。
2ページ目になると、また1から表示されます。
記事毎(エントリー)ページでも使うことは出来ますが、常に記事番号が「1」となるので意味は無いでしょう。
使用するブロック トップページとアーカイブページ
b_block:id="entry_list"内
記事毎(エントリー)ページ
b_block:id="entry"内
実際の実用例 <diV><!-- soy:id="index" -->1<!-- /soy:id="index" -->件目</div>

参考記事
SOY CMSのブログで記事表示順番号(通し番号)を出力させたい | 植物のミカタ


記事ブロックで最初とそれ以外のデータで表示を変える

トップページの記事の繰り返し部分で、最初の記事と2つ目以降の記事で表示の仕方を変えます。

ブログ形式のニュースメディアなどで使われるような表示方法です。

このタグは、トップページ、アーカイブページで使うことが出来ます。

soy:id at_first , not_first
使用可能なHTMLタグ 全て
解説 最初の記事と2つ目以降の記事で表示の仕方を変えます。
最初の記事は、<!-- soy:id="at_first" -->で囲みます。
2つ目以降の記事は、<!-- soy:id="not_first" -->で囲みます。
使用するブロック b_block:id="entry_list"内
実際の実用例 <!-- soy:id="at_first" -->
    <h1>最初の記事です</h1>
<!-- /soy:id="at_first" -->
<!-- soy:id="not_first" -->
    <h1>2つ目以降の記事です</h1>
<!-- /soy:id="not_first" -->

参考記事
SOY CMS/Shopのブロックで最初とそれ以外のデータで表示を変えたい | 植物のミカタ


記事ブロックで最後とそれ以外のデータで表示を変える

トップページの記事の繰り返し部分で、最後の記事とそれ以外の記事で表示の仕方を変えます。

このタグは、トップページ、アーカイブページで使うことが出来ます。

soy:id at_last, not_last
使用可能なHTMLタグ 全て
解説 最後の記事とそれ以外の記事で表示の仕方を変えます。
最後の記事は、<!-- soy:id="at_last" -->で囲みます。
それ以外の記事は、<!-- soy:id="not_last" -->で囲みます。
使用するブロック b_block:id="entry_list"内
実際の実用例 <!-- soy:id="not_last" -->
    <h1>最後以外の記事です</h1>
<!-- /soy:id="not_last" -->
<!-- soy:id="at_last" -->
    <h1>最後の記事です</h1>
<!-- /soy:id="at_last" -->

参考記事
SOY CMS/Shopのブロックで最後とそれ以外のデータで表示を変えたい | 植物のミカタ

指定記事件数ごとに任意の文字列を表示する

トップページやアーカイブページの記事の繰り返し部分で、指定の記事件数(偶数や奇数、n番目の記事)ごとに任意の文字列を表示します。

このタグは、トップページ、アーカイブページで使うことが出来ます。

soy:id loop
使用可能なHTMLタグ 全て
解説 指定の記事件数ごとに、任意の文字列を表示します。
偶数や奇数、n番目の記事単位で、文字列やHTMLを表示させることが出来ます。
使用するブロック b_block:id="entry_list"内
実際の実用例 <!-- soy:id="loop" step="3" -->
  <p>3回の記事ごとに、この文章を出力する</p>
<!-- /soy:id="loop" -->

参考記事
SOY CMSのブロック内の繰り返し表示で何記事目毎に任意の文字列を表示したい | 植物のミカタ


ページに表示しない範囲を設定する

テンプレートを作成しているときに、この部分は表示させたくないが覚えとして残しておきたいということがあります。

そんなときに使えるのが以下のタグです。

cms ignore
使用可能なHTMLタグ なし(単独で使用)
解説 テンプレートを作成したときに、メモとして残しておきたい部分をコメントアウトするのではなく非表示にします。
繰り返しブロックでは、複数のサンブルの内1つをブロックでSOY CMS化し、残りを削除するのではなく非表示にします。
これはどこでも使うことができます。
使用するブロック どこでもOK
実際の実用例 <!-- cms:ignore -->
  <p>ここの範囲は記事のタイトルが表示されない</p>
<!-- /cms:ignore -->

終わりに

いかがだったでしょうか。これらのタグは最初からあったわけではなく、開発が進むに連れて追加されたり、ユーザーからの要望によって追加されたりしたものです。

SOY CMSは、有志の方ではありますが、まだまだ開発・メンテナンスが続いているCMSです。我々ユーザーが、こういった機能が欲しいと要望をあげることによって、それらの機能が追加され、さらに使いやすいCMSに進化していくことでしょう。