MTSiteSearchSnippet
Data API と JavaScript を利用したサイト内検索を設置することができます。※Data API の利用が有効になっていない場合、検索フォームは表示されません。
使い方
<$mt:SiteSearchSnippet$>
モディファイア
- fields="foo"
-
fiedls で指定したフィールドを対象に検索インデックスを作成します。複数のフィールドを指定する場合は、カンマ区切りにします。カスタムフィールドを指定する場合は field:(フィールドの識別子) という値で指定します。初期値は title,body,more,keywords です。
- include_custom_field="0 | 1"
-
値に 1 を指定すると、記事またはウェブページの「1行テキスト」「複数行テキスト」のフィールドを fields の値に自動的に追加します。
- language="foo"
-
表示言語の設定です。デフォルトではブログの言語設定を参照します。現在は ja_JP と en_US 以外は対応していません。
- blog_ids="foo"
-
対象にするブログを id または識別子をつかって指定します。複数のブログを対象する場合はカンマ区切りで指定します。指定がない場合は、ウェブサイト全体で検索インデックスを作成します。
- filter_categories="foo"
-
検索結果を指定のカテゴリー名でフィルターします。複数のカテゴリーを表示対象にする場合は、カンマ区切りで入力します。
- filter_pathname="foo"
-
検索結果の記事のpermalinkについて、pathname でフィルターします。 e.g. /blog/ pathname に対して、前方一致でフィルターします。
- user_dictionary="foo"
-
特定の検索ワードを別名に置き換えて検索させたい場合に使用します。JSON 形式、または CSV 形式のファイルを用意して URL を指定することで、特定の文字列をキーで指定した値に変換して検索を実行します。
※ ファイルは UTF-8 で作成してください。
※ Web Worker で実行する場合があるので、絶対パス(またはルートからのパス)を指定するようにしてください。
※ user_dictionary で登録したキーおよび配列の値は、keyword としても使われるので、keyword のアトリビュートで重複して登録する必要はありません。JSONファイル例
{ "ブログ": ["ウェブログ", "blog", "weblog"], "Movable Type": ["MovableType", "MovableTypo"] }
CSVファイル例
ブログ,ウェブログ,blog,weblog MovableType.net,mobiletype.net,ムーバブルタイプドットネット, カスタムフィールド,カスタム・フィールド,カソタムフィールド,
1番左が検索させたいキーワードで、右側に表記ゆれのキーワードを追加しています。
- entry_jsons="foo"
-
JSON 形式、または CSV 形式で記事の情報を渡すことで、任意の記事の情報を検索インデックスに含めることができます。複数の JSON / CSV ファイルを指定する場合は、カンマ区切りで指定します。Web Worker で実行する場合があるので、絶対パス(またはルートからのパス)を指定するようにしてください。
- query_key="foo"
-
クエリストリング中の query(検索語)のキーを設定します。初期値は mtssq です。
- limit_key="foo"
-
クエリストリング中の limit のキーを設定します。初期値は mtsslimit です。
- offset_key="foo"
-
クエリストリング中の offset のキーを設定します。初期値は mtssoffset です。
- limit="foo"
-
表示する検索結果の件数を設定します。初期値は mtsslimit です。デフォルトは 10 です。
- prebuild_index="foo"
-
prebuild index した JSON ファイルがある場合に、その JSON ファイルのパスを指定します。
- form_action="foo"
-
検索を実行するページの URL を指定します。指定以外のページで検索が実行されると、検索実行画面に画面遷移します。指定がない場合はその場で検索を実行して検索結果を表示します。
※ form_action に遷移先ページを指定した場合は、遷移先ページ(テンプレート)にも <$mt:SiteSearchSnippet$> が使われている必要があります。 - search_result_container="foo"
-
検索結果を表示する場所を HTML タグの id で指定します。指定がない場合は検索フォームの直下に表示されます。
- no_search_form="0 | 1"
-
値に 1 を指定すると、検索フォームが表示されなくなります。
- no_search_result="0 | 1"
-
値に 1 を指定すると、検索結果が表示されなくなります。
- keywords="foo"
-
検索インデックスに指定したキーワードを追加します。複数のキーワードを指定したい場合はカンマ区切りで指定します。
- keyword_list="foo"
-
キーワードを配列にした JSON 形式のファイルを用意してURLを指定することで、検索インデックスにキーワードを追加することができます。Web Worker で実行する場合があるので、絶対パス(またはルートからのパス)を指定するようにしてください。
- no_default_css="0 | 1"
-
値に 1 を指定すると、デフォルトで追加される CSS を追加しないようにすることができます。
- show_blog_name_on_result="0 | 1"
-
値に 1 を指定すると、検索結果にブログ名を追加することができます。
- search_placeholder="foo"
-
任意の文字列を入力することでプレースホルダーを設定することができます。
- no_script="0 | 1"
-
値に 1 を指定すると、検索に必要な script タグが書き出されなくなります。同一ページ内で複数の MTSiteSearchSnippet タグを使用した場合に、複数の同じ script が書き出されることを防ぐことができます。
- make_unique_id="0 | 1"
-
値に 1 を指定すると、id属性に重複を避けた値を利用するようになります。
- no_site_fetch="0 | 1"
-
1に指定すると、Data API による記事データの取得をしないようになります。この設定が1の場合はウェブサイトでDataAPIが有効になっていなくても検索フォームを利用することができます。