モジュールID

目次

モジュールIDの基本

コンフィグ>モジュールの設定では、同じモジュールを使いまわした場合に共通の設定内容で利用することになります。個々にモジュールの設定内容を変更したい場合にモジュールIDを付けることで対応します。

例えば以下のような表示の設定をすることができます。

  • 特定のカテゴリーのエントリー一覧を表示させる
  • 特定の期間だけ表示させる
  • キーワードを対象にした一覧を表示させる
  • タグで絞り込んだ一覧を表示させる
  • エントリー一覧にページャーをつける
  • 特定のモジュールの表示件数を変える

モジュールはURLコンテキストの情報を元に何を表示させるかを決定すると紹介していますが、このモジュールIDを利用する事で、URLコンテキストを利用せずに管理ページのモジュールIDで指定した条件設定や表示設定を元にモジュールを動作させる事ができるようになります。

モジュールIDの設定

指定方法としては、テンプレート上のモジュールの BEGIN_MODULE モジュール名の後に id="モジュールID" のように指定をします。以下、Entry_Headlineに対して設定した場合で説明します。

<!-- BEGIN_MODULE Entry_Headline id="topHeadline" -->
<ul>
<!-- BEGIN entry:loop -->
<li><a href="{url}">{title}</a></li>
<!-- END entry:loop -->
</ul>
<!-- END_MODULE Entry_Headline-->

モジュールID管理画面から[モジュールIDを作成]ボタンを押すとモジュールIDの条件設定画面に移動します。モジュールではIDを指定したモジュールを選択してください。idにはtopHeadlineなど指定したIDを入力してください。名前はそのモジュールIDがどんな働きをしているのか分かりやすい名前にするとよいでしょう。


下階層の子ブログでもこのモジュールを利用できるようにする

グローバルの項目で下の階層のブログが利用することを許可するというチェックをすると自分より下階層の子ブログで同じモジュールIDをテンプレートに記述すると継承して使うことができます。ここにチェックを入れない場合はこのモジュールはこのブログだけに所属することになり、下階層の子ブログで使うことができません。

条件を指定する

引数にはブログID、カテゴリーID、エントリーID、ユーザーID、タグ、キーワード、カスタムフィールドなどさまざまな条件をしていすることができます。

特定のカテゴリーで絞り込む

お知らせカテゴリーの一覧を表示したいときは、お知らせカテゴリーのIDを指定します。もしお知らせカテゴリーのカテゴリーIDが3の場合、入力フォームに3と入力してください。またID参照というリンクをクリックするとブログ、カテゴリー、ユーザーのIDを調べて選択するとIDを調べることができます。



特定のカスタムフィールドの値を持っているエントリーを表示する

特定のカスタムフィールドを持っているエントリーを一覧で表示することができます。

チェックボックスのカスタムフィールド(カスタムフィールド変数:pickup、値:true)でチェックしたエントリーだけ表示させる場合は、フィールド(field)のところに pickup/true と入力してください。(カスタムフィールド変数:pickup、値:true)を持っているエントリーのみ表示できます。

<label class="acms-form-checkbox" for="input-pickup-true"><input type="checkbox" name="pickup[]" value="true" id="input-pickup-true"{pickup:checked#true} /><i class="acms-ico-checkbox"></i> pickupする</label>
<input type="hidden" name="field[]" value="pickup" />


また演算子もエントリーの絞り込みに利用できます。 例えば、nem(値が空でないとき)を使うことで、pickupというカスタムフィールドに値が入っている場合にのみエントリーを表示することができます。 このフィールドで使用出来る演算子として以下のものがあります。

演算子条件意味
eq=等しい
neq!=等しくない
gt>より大きい
gte>=以上
lt<より小さい
lte<=以下
lkLIKE含まれる
nlkNOT LIKE含まれない
reREGEXP指定した正規表現に合致する
nreNOT REGEXP指定した正規表現に合致しない
emEMPTY値が空(何も入っていない)
nemNOT EMPTY値が空(何も入っていない)ではない

また、_or_ や _and_ といった演算子も使用可能です。
例えば、toho(徒歩)6分以下でprice(家賃)50000円以下の物件を表示したい場合は以下のような値がフィールドに入ります。
toho/lte/6/_and_/price/lte/50000

特定の日時のエントリーを表示させる

開始日時(start)や終了日時(end)に年月日と時分秒を入れて特定の期間内に該当するエントリーを表示させることができます。応用として、値の欄にグローバル変数を使うことで現在時刻を基準とした制御をすることもできます。この条件ではエントリーの日時を参照します。



下階層のデータを絞り込み

自分より下階層のブログやカテゴリーのデータも表示内容に含めるか選択することができます。

  • 下階層のブログを含めない場合は、自分自身のエントリーだけ表示します。
  • 下階層のブログも含める場合は、自分自身と下階層のブログのエントリーを含んだ内容を表示します。
  • 下階層のブログのみを対象とする場合は、自分の下階層のブログのエントリーだけ表示します。

モジュールIDの引数

モジュールID条件設定ではカテゴリーやエントリー、ページなどの項目にチェックボックスがついています。このチェックボックスはURLコンテキストの値を参照しています。



カテゴリーIDの入力フォームではcidの数字を入力しますが、引数にチェックすることでURLの情報に合わせてデータの表示することができます。

引数チェックボックスの使い方

引数のチェックボックスは、URLコンテキストに応じて表示する内容を変えることができます。URLコンテキストについてはURLコンテキストのページをご覧ください。

現在表示しているカテゴリーの一覧を表示させたい

カテゴリーIDの引数チェックボックスにチェックをしてください。

http://www.example.com/news/ のときはnewsカテゴリーのエントリー一覧を表示します。 http://www.example.com/products/ のときはproductsカテゴリーのエントリー一覧を表示します。
このようにURLの値によって表示させるデータを変えることができます。わざわざnewsカテゴリー一覧表示用のモジュールを作ったり、productsカテゴリー一覧表示用のモジュールを作ったりしなくてよくなります。

ページャーを使いたい

ページ(page)の引数チェックボックスにチェックをしてください。

お知らせエントリーの2ページ目のエントリーを表示させるときはURLに /page/2/ という値が入っています。ページ(page)の引数チェックボックスにチェックすることで現在のページの情報を表示することができます。 http://www.example.com/news/page/2/

キーワード検索したい

キーワード(keyword)の引数チェックボックスにチェックをしてください。

検索フォームからキーワードを入力して検索するとURLに検索したキーワードが入ります。醤油というキーワードで検索するとURLに /keyword/醤油/ という値が含まれ、醤油という文字を持っているエントリー一覧を表示することができます。
http://www.example.com/keyword/醤油/

タグの絞り込みがしたい

タグ(tag)の引数チェックボックスにチェックをしてください。

タグクラウドのリンクをクリックするとURLに選択したタグの値が入ります。フォームというタグを持ったエントリーの一覧を表示させたいときはURLに /tag/フォーム/ と入れて絞り込めるようにします。
http://www.example.com/tag/フォーム/

カスタムフィールドの絞り込みがしたい

フィールド(field) の引数チェックボックスにチェックをしてください。

カスタムフィールドの絞り込みをする場合はURLに /field/カスタムフィールド変数名/値/ が入っていれば、そのカスタムフィールドの値を持っているエントリーを表示することができます。
http://www.example.com/field/pickup/true/

期間で絞り込みがしたい

開始日時(start)と 終了日時(end)の引数チェックボックスにチェックをしてください。

Entry_ArchiveListモジュールなどで2014年1月に投稿したエントリー一覧を表示させるということがあります。その場合はURLが /2014/01/ という値が入ります。開始日時(start)と 終了日時(end)の引数にチェックのあるモジュールであれば、2014年1月に投稿したエントリー一覧を表示させることができます。
http://www.example.com/2014/01/

思うようにモジュールの表示ができない場合

中には、モジュールを設定しても思うように表示されないことがあるかもしれません。 その場合は、以下の項目をご参考にしてください。

カテゴリーエントリーリスト ( Category_EntryList ) またはカテゴリーエントリーサマリー ( Category_EntrySummary ) が表示されない

カテゴリーエントリーリスト(Category_EntryList)またはカテゴリーエントリーサマリー ( Category_EntrySummary ) は、モジュールIDを割り当てていないデフォルトの状態だと、今見ているページが属するカテゴリーを基点にコンテンツを表示しようとします。

そのため、今見ているページが属するカテゴリーが、子カテゴリーやエントリーなどのコンテンツを持っていない場合、何も表示されなくなります。常に任意のカテゴリーを基点に表示したい場合は、モジュールIDを割り当てて、CIDを任意のカテゴリーのものに設定してください。



ページ(page)やキーワード(keyword)の一覧に移動しても表示が変わらない

URLコンテキスト上で指定されたページやキーワードの指定を反映するかどうかは、各モジュールの引数の設定によって変わります。

またデフォルトの設定値もモジュールによって異なります。たとえば、Entry_Bodyモジュールは、ページやキーワードを反映しますが、Entry_Summaryモジュールはそれらをデフォルトでは反映しません。

そのため、ページやキーワードを反映させるには、モジュールIDを設定します。 モジュールIDの設定画面に「キーワード(keyword)」「タグ(tag)」「ページ(page)」などURLの値を参照するチェックボックスがあります。

たとえば、「http://ドメイン/page/2/」というURLの場合は、URLの値を参照してモジュール側で/page/の2ページ目のデータを表示してくれます。

エントリーの一覧のページャーを使いたい場合

フォト (Entry_Photo)モジュールやサマリー (Entry_Summary)モジュールなどエントリーの一覧を表示するときにページャー機能を使うことがあります。 ページャー機能を使うときは、モジュールIDを作成し「ページ(page)」の引数にチェックをしてください。

検索結果の一覧を表示したい場合

「キーワード(keyword)」と「ページ(page)」の引数にチェックをしてください。

タグの絞り込み(タグクラウド)結果の一覧を表示したい場合

「タグ(tag)」と「ページ(page)」の引数にチェックをしてください。



ページャー機能を有効にしましょう

ページャー機能を有効にすると、以下の画像のように各ページ一覧へのリンクが生成されます。



モジュールの表示設定にページャーという項目があります。「 ページャーを表示できるようにする」にチェックを入れてください。


エントリー系モジュールの初期スコープ

エントリー系モジュールの初期スコープ

モジュールIDを設定していない状態のモジュールの場合、表示内容にURLコンテキストを反映するかどうかは、固有の初期スコープによって決定されます。

そのためモジュールによっては、モジュールIDを設定しないとURLコンテキスト上のpageが反映されなかったり、下階層のブログの情報を表示しなかったりします。

下記の表を参考に、モジュール毎の初期設定をご確認ください。

URLコンテキストの反映に関する初期設定

  • ○ = 反映する
  • × = 反映しない

名称 Body List Headline Photo Summary ArchiveList GeoList
bid × × × × ×
uid × × × × ×
cid × × × × ×
eid × × × ×
keyword × × × × ×
tag × × × × ×
field × × × × ×
start × × × × ×
end × × × × ×
page × × × × ×

階層構造の追跡に関する初期設定


モジュール名 Body List Headline Photo Summary ArchiveList GeoList
ブログ階層 自分+自分以下 自分のみ 自分のみ 自分のみ 自分のみ 自分のみ 自分のみ
カテゴリー階層 自分+自分以下 自分のみ 自分のみ 自分のみ 自分のみ 自分のみ 自分のみ