ホーム > サポート・マニュアル > チュートリアル > 組み込みのJavascript > 検索エンジンからのキーワードでサイト内検索結果を表示する(post include)
検索エンジンからのキーワードでサイト内検索結果を表示する(post include)
ドキュメント最終更新日時:2010/05/13 18:10
検索エンジンで検索したキーワードを元に、サイト内の検索結果をAjaxを使用して表示する方法を説明します。この方法は組み込みJavaScriptのpost include機能を利用します。(v1.3.0より)
この方法を利用すると、検索エンジンからのアクセスの場合に、検索キーワードに合致した情報を表示することができます。
検索エンジンからのキーワードでサイト内検索結果を表示する
検索エンジンで検索したキーワードを利用してサイト内検索した場合の検索結果を表示する手順を説明します。
1. 検索結果の表示を用意する
(1)フォームを送信した後に表示する内容をテンプレートとして用意します。ここではsearchResult.htmlというテンプレートを用意するとします。このテンプレートには検索結果の表示部分のみ記述しています。
<!-- BEGIN_MODULE Entry_List -->
<ul>
<!-- BEGIN entry:loop --><li><a href="{url}">{title}</a></li><!-- END entry:loop -->
</ul>
<!-- END_MODULE Entry_List -->
(2)手順1(1)で作成したモジュールをモジュールIDにし、引数設定の[keyword]にチェックを入れます。これで、フォームから送られたキーワードに合致するエントリーが表示されるようになります。
<!-- BEGIN_MODULE Entry_List id="searchResult" -->
<ul>
<!-- BEGIN entry:loop --><li><a href="{url}">{title}</a></li><!-- END entry:loop -->
</ul>
<!-- END_MODULE Entry_List -->
2. 非表示のフォームを用意する
(1)検索フォームを用意します。
<form action="" method="post">
<input type="hidden" name="bid" value="%{BID}" />
<input type="submit" name="ACMS_POST_2GET" />
</form>
(2)form要素にclass属性とonsubmit属性を追加します。
onsubmit属性の "return ACMS.Config.searchEngineKeyword.length;" は、検索エンジンキーワードがあれば検索し、なければ検索しないという指定です。この通りに記述してください。
<form action="" method="post" class="js-post_include-ready" onsubmit="return ACMS.Config.searchEngineKeyword.length;">
<input type="submit" name="ACMS_POST_2GET" />
</form>
(3)検索結果を表示するテンプレートを参照します。(2行目)
例)include/searchResultSample.html というテンプレートを参照する場合の例です。
<form action="" method="post" class="js-post_include-ready" onsubmit="return ACMS.Config.searchEngineKeyword.length;">
<input type="hidden" name="tpl" value="include/searchResultSample.html" />
<input type="hidden" name="bid" value="%{BID}" />
<input type="submit" name="ACMS_POST_2GET" />
</form>
(3)検索エンジンキーワードをキーに読み込んで表示する記述を追加します。(3行目)
<form action="" method="post" class="js-post_include-ready" onsubmit="return ACMS.Config.searchEngineKeyword.length;">
<input type="hidden" name="tpl" value="include/searchResultSample.html" />
<input type="hidden" name="keyword" value="ACMS.Config.searchEngineKeyword" class="js-post_include-eval_value" />
<input type="hidden" name="bid" value="%{BID}" />
<input type="submit" name="ACMS_POST_2GET" />
</form>
これで検索エンジンで検索してアクセスしたときに、検索キーワードを元に検索した結果が表示されます。
このドキュメントと関連している内容のエントリー
- 関連度 3 : post includeの結果をキャッシュさせない方法
- 関連度 3 : 送信ボタンを押さずに検索結果を表示する(post include)
- 関連度 3 : ページを移動せずにフォームの検索結果を表示する(post include)
- 関連度 1 : https関連のリンクを書き換える機能
- 関連度 1 : 特定の部分の表示/非表示をフェード効果で切り替える機能(js-fader)
ドキュメントの内容に関するお知らせフォーム
内容に誤り・現行バージョンと異なる部分がありましたら、下記のフォームよりお知らせください。



