アドオン・プラグイン
MTAltSearchPath, MTAltSearchFeedPath, MTAltSearchLimit 以外のテンプレート・タグは DynamicMTML 専用です。これら3つの項目の出力内容は、ワークスペース/スペースでの PowerCMS 設定 で指定できます。
ブロックタグ
- MTAltSearchResults
- 検索結果をループ出力します。MTAltSearchResults 内では、ブロックタグ MTEntries の中で利用できるファンクションタグがそのまま使えます。
- MTYears
- ワークスペース/スペースに登録されている最も古い記事/ウェブページの公開日 (authored_on) から最も新しい記事/ウェブページの公開日を含む年をループで出力します。このタグとファンクションタグ「MTYear」を利用することで、記事/ウェブページの日付範囲指定をする時の年指定が可能です。このタグにモディファイア「select_name」として「from_y」または「to_y」を指定することで、ブロックタグ「MTIfCurrentYear」の内容を処理するかどうかが変わります。
- MTIfCurrentYear
-
<select name="from_y">としたループの中では、MTYear の値が最も古い記事/ウェブページの公開日の年と一致するときにタグの内容を処理し、<select name="to_y"> としたループの中では、MTYear の値が最も新しい記事/ウェブページの公開日の年と一致するときにタグの内容を処理します。
日付の範囲指定をする場合の典型的な開始年を指定するドロップダウンメニューを作成するテンプレート・タグは以下のようになります。
<select name="from_y"> <MTYears select_name="from_y"> <option value="<$MTYear$>"<MTIfCurrentYear> selected="selected"</MTIfCurrentYear>><$MTYear$></option> </MTYears> </select>
- MTAltSearchMetadatas
- 検索結果に関するヒット件数やページ送りのための情報等をループ出力します。
- MTIfAltSearchMetaDatasHeader
- MTAltSearchMetadatas ループの最初のループ実行時にタグの内容を処理します。
- MTIfAltSearchMetaDatasFooter
- MTAltSearchMetadatas ループの最後のループ実行時にタグの内容を処理します。
- MTIfAltSearchResultCurrent
-
ページ送りが有効な場合、ループの回数が現在表示しているページと一致する場合にタグの内容を処理します。
ページ送りの中で現在のページのリンクを外した例
- MTAltSearchPageCounter
- MTAltSearchMetadatas ループの中で利用します。ページ送りの番号を数字で出力します。
- MTIfAltSearchResultPrev
- MTAltSearchMetadatas ループの中で利用します。ページ送りの際に、ひとつ前の検索結果ページが存在する場合にタグの内容を処理します。
- MTIfAltSearchResultNext
- MTAltSearchMetadatas ループの中で利用します。ページ送りの際に、ひとつ次の検索結果ページが存在する場合にタグの内容を処理します。
- MTIfAltSearchQuery
- 検索語 (query) に何らかの文字列が指定されている場合にタグの内容を処理します。
- MTIfAltSearchModeIsCategory
- カテゴリ (category パラメータ) が指定されている場合にタグの内容を処理します。
- MTIfAltSearchModeIsTag
- タグ (tag パラメータ) が1 (tag=1) の場合にタグの内容を処理します。
- MTIfAltSearchDate
- 検索条件に日付の範囲が指定されている場合にタグの内容を処理します。
- MTIfAltSearchSort_by
- ソート順 (sort_by パラメータ) が指定されている場合にタグの内容を処理します。
- MTIfAltSearchSort_order
- ソート順 (sort_order パラメータ) が指定されている場合にタグの内容を処理します。
- MTIfAltSearchMatchQuery
-
検索語 (query パラメータ) が value モディファイアの値と部分一致する場合にタグの内容を処理します。
例:特定のクエリーに対して特定の内容を出力する例
<MTIfAltSearchMatchQuery value="PCMS"> もしかして PowerCMS? </MTIfAltSearchMatchQuery>
- MTIfAltSearchCurrentCategory
- カテゴリ (category パラメータ) が指定されている場合に、MTCategories ループ等の中でカテゴリの ID が検索対象のカテゴリ ID と一致する時にタグの内容を処理します。
- MTIfAltSearchNoneMatch
- MTAltSearchMetadatas ループの中で利用します。検索リクエストにマッチするものが何もなかった場合にタグの内容を処理します。
- MTIfAltSearchParam
-
URL 文字列の中で name モディファイアのパラメータに指定されている値が value モディファイアの値と一致する場合タグの内容を処理します。
<MTIfAltSearchParam name="sort_by" value="modified_on">更新日</MTIfAltSearchParam>順に検索しました。
name モディファイアで指定したパラメータに渡された値を like、eq、ne、lt、gt、le、ge モディファイアの値と比較することができます。
- like モディファイア (like モディファイアの値を正規表現として扱い、それにマッチするときに真を返します)
- eq モディファイア (eq モディファイアの値に一致するときに真を返します)
- ne モディファイアを記述した場合 (ne モディファイアの値に一致しないときに真を返します)
- lt モディファイア (lt モディファイアの値よりも小さいときに真を返します)
- gt モディファイア (gt モディファイアの値よりも大きいときに真を返します)
- le モディファイア (le モディファイアの値のときに真を返します)
- ge モディファイア (ge モディファイアの値のときに真を返します)
<MTIfAltSearchParam name="sort_by" eq="modified_on">更新日</MTIfAltSearchParam>順に検索しました。
<MTIfAltSearchParam name="query" like="/p(:?ower)?cms/i"><a href="https://www.powercms.jp/">PowerCMS のワークスペース</a>もご覧ください。</MTIfAltSearchParam>
正規表現の修飾子として s と i が使用できます。修飾子を用いない場合、デリミタ “/” は省略できます。
パラメータに複数の値が渡されている場合は、
- いずれかの値が like モディファイアの値にマッチするとき
- いずれかの値が eq モディファイアの値に一致するとき
- いずれの値も ne モディファイアの値に一致しないとき
- いずれかの値が lt モディファイアの値よりも小さいとき
- いずれかの値が gt モディファイアの値よりも大きいとき
- いずれかの値が le モディファイアの値以下のとき
- いずれかの値が ge モディファイアの値以上のとき
にタグの内容を処理します。例えば次のように書いた場合、include_blogs のいずれかの値に「2,3」が含まれているとタグの内容を処理します。
<MTIfAltSearchParam name="include_blogs" like="(^|,)2,3(,|$)">...</MTIfAltSearchParam>
- MTIfAltSearchDate
- 検索条件に日付の絞り込みが指定されている場合にタグの内容を処理します。
- MTIfAltSearchFrom
- 検索条件に日付の絞り込みが指定されている場合、開始日 (from) が指定されている場合にタグの内容を処理します。
- MTIfAltSearchTo
- 検索条件に日付の絞り込みが指定されている場合、終了日 (to) が指定されている場合にタグの内容を処理します。
- MTIfAltSearchAnd_or
- 検索条件に AND 条件または OR 条件が (and_or) 指定されている場合にタグの内容を処理します。
- MTIfAltSearchModeIsCategories
- categories パラメータに値が渡されていたらタグの内容を処理します。
- MTIfAltSearchCurrentCategories
- MTCategories ループ等の中でコンテキストに設定されているカテゴリの ID が、categories パラメータに渡されている値の中にあればタグの内容を処理します。
- MTIfAltSearchCategories_and_or
- categories_and_or パラメータに「and」か「or」が渡されていればタグの内容を処理します。
ファンクションタグ
- MTAltSearchCurrent
- MTAltSearchMetadatas ループの中で利用します。ページ送りの中で現在のページが何ページ目にあたるか(数値)を出力します。
- MTAltSearchMatch
- MTAltSearchMetadatas ループの中で利用します。検索条件にマッチした記事/ウェブページのトータル件数(数値)を出力します。
- MTAltSearchPrev
- MTAltSearchMetadatas ループの中で利用します。ページ送りの中で「ひとつ前」のページの offset 値(数値)を出力します。
- MTAltSearchNext
- MTAltSearchMetadatas ループの中で利用します。ページ送りの中で「ひとつ次」のページの offset 値(数値)を出力します。
- MTAltSearchPages
- MTAltSearchMetadatas ループの中で利用します。検索結果が(現在の offset, limit 設定の場合)全部で何ページあるか(数値)を出力します。
- MTAltSearchLast
- MTAltSearchMetadatas ループの中で利用します。現在のページで表示されている最後の項目がトータルでマッチした何件目にあたるか(数値)を出力します。
- MTAltSearchResultNumber
- MTAltSearchResults ループの中で利用します。MTAltSearchResults ループの何番目を実行しているか(数値)を出力します。
- MTAltSearchQuery
-
検索語を HTML エスケープして出力します。モディファイア pass=”1” を指定することで、HTML エスケープを無効にできます。
例: 検索結果に関する情報の出力例
<p>キーワード「<$MTAltSearchQuery$>」にマッチする <$MTAltSearchMatch$> 件の記事/ウェブページが見つかりました。</p> <p> (うち <$MTAltSearchOffset$> 件から <$MTAltSearchLast$> 件を表示しています)</p> <p>現在のページ : <$MTAltSearchCurrent$> / <$MTAltSearchPages$>ページ</p>
- MTAltSearchParam
- name モディファイアで指定したパラメータに渡された値を HTML エスケープして出力します。モディファイア pass=”1” を指定することで、HTML エスケープを無効にできます。
- MTAltSearchResultOffset
- MTAltSearchMetadatas ループの中で利用します。ページ送りのn番目のページの offset 値(現在の offset, limit 設定の場合)を出力します。
- MTAltSearchCategoryLabel
- 検索条件にカテゴリ (category パラメータ) が指定されている場合、検索条件で指定されたカテゴリ名を出力します。
- MTAltSearchCategoryId
- 検索条件にカテゴリ (category パラメータ) が指定されている場合、検索条件で指定されたカテゴリ ID を出力します。
- MTAltSearchBlogId
- ワークスペース/スペース ID (blog_id パラメータ) が指定されている場合に、ワークスペース/スペースの ID を出力します。
- MTAltSearchSort_by
- 検索条件にソート条件 (フィールド名 = sort_by パラメータ) が指定されている場合、検索条件で指定されたソート条件 (フィールド名) を出力します。
- MTAltSearchSort_order
- 検索条件にソート条件 (昇順|降順 = sort_order パラメータ) が指定されている場合、検索条件で指定されたソート条件 (ascend|descend) を出力します。
- MTAltSearchPath
- 検索結果テンプレートの出力ファイル名 (デフォルトでは dynamic/search.html, ワークスペース/スペースの AltSearch プラグイン設定で指定できます) を出力します。
- MTAltSearchAnd_or
- 検索条件に AND/OR 条件が and または or で指定されている場合、その内容を出力します。
- MTAltSearchCategoryIDs
- categories パラメータに渡されたカテゴリの ID をカンマで連結して返します。glue モディファイアで連結文字を任意に変えることができます。
- MTAltSearchCategories_and_or
- categories_and_or パラメータに「and」か「or」が渡されていた場合、その値を返します。
- MTAltSearchFeedPath
- 検索フィードテンプレートの出力ファイル名 (デフォルトではdynamic/feed.xml, 各ブログの AltSearch プラグイン設定で指定できます) を出力します。
- MTAltSearchLimit
- デフォルトの検索結果件数 (limit 値=各ブログの AltSearch プラグイン設定で指定できます) を出力します。
- MTAltSearchOffset
- 検索条件に検索結果の表示開始件数 (offset パラメータ) が指定されている場合、表示開始件数 (offset) を出力します。
- MTAltSearchDate
- 検索条件に日付の絞り込みが指定されている場合、対象となるフィールド名 (authored_on または created_on、modified_on) を出力します。
- MTAltSearchFrom
- 検索条件に日付の絞り込みが指定されている場合、開始日を yyyy-mm-dd 形式で出力します。
- MTAltSearchTo
- 検索条件に日付の絞り込みが指定されている場合、終了日を yyyy-mm-dd 形式で出力します。
- MTAltSearchResultPermalink
- 検索結果が「記事」や「ウェブページ」であるかどうかに関わらず、ページへのパーマリンクを出力します。
- MTYear
- MTYears ループの中で各年を YYYY 形式で出力します。
モディファイア
- hilight
- 検索結果表示文字列中の検索語をハイライト (strong タグでマークアップ) します。
- remove_js
- HTML の script タグを消去します。
こちらもご覧ください
- [よくあるご質問] ダイナミック検索(AltSearch)ではどの項目が全文検索の対象になりますか?
- [よくあるご質問] ダイナミック検索(Altsearch)の処理スピードを上げる方法はありますか?
- [よくあるご質問] ダイナミック検索(AltSearch)で、検索結果に表示されない記事がある
- [よくあるご質問] サイト内検索結果に「もしかして~?」のように、検索キーワードによって類似キーワードを表示することはできますか?
- [PowerCMS ブログ] 検索結果に類似キーワードを表示する - もしかしてMovable Type?
- [PowerCMS ブログ] AltSearch でキーワードなしのカテゴリ指定検索を実装する
- [PowerCMS ブログ] ダイナミック検索に特定の記事を含めないようにするカスタマイズ
- [PowerCMS ブログ] ダイナミック検索で大文字小文字の区別をなくす
- [PowerCMSの機能] ダイナミック検索