SearchContentsプラグイン(その7・共通フィールドで検索)

コンテンツタイプでは、タイプごとに異なるフィールドを自由に定義することができます。
ただ、すべてのコンテンツタイプ(コンテンツデータ)に共通なフィールドもあり、それを検索に使いたい場面もあります。
その方法を紹介します。

1.共通なフィールド

コンテンツデータは、データベース上では大まかに「すべてのコンテンツタイプに共通のフィールド」と、「各コンテンツタイプに固有なコンテンツフィールド」から構成されています。
前者にあたるフィールドとして、以下のようなものがあります。

フィールドフィールド名
>IDid
ユーザーのIDauthor_id
作成日時created_on
公開日時authored_on
更新日時modified_on
非公開日時unpublished_on
データ識別ラベルlabel

2.fieldモディファイア

コンテンツタイプごとのフィールド(コンテンツフィールド)を検索条件として使う場合、MTSearchContentValuesタグなどで「content_field」というモディファイアを使って、コンテンツフィールドの名前を指定しました。
一方、共通なフィールドを検索条件として使う場合、content_fieldモディファイアではなく、「field」というモディファイアを使います。

例えば、「商品」というコンテンツタイプがあるとします。
そのコンテンツデータの中で、公開日が2018年内という条件で検索したい場合、以下のようにテンプレートを組みます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentCompare field="authored_on" ge="20180101000000" lt="20190101000000"$>
</mt:SearchContents>

3.SearchContentsプラグイン関係の記事の一覧

MT Cloud Starter Kit
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください