私は opensolution の quick.cart 5.1 テンプレートを使用しています。quick.cart の検索フォームの基本機能は、サイトから製品を検索することです。この jquery カスタム検索http://tutorialzine.com/2010/09を採用しました。 /google-powered-site-search-ajax-jquery/ quick.cart サイトを container.tpl に合わせるために、元の検索スクリプトは次のとおりでした:
<!-- IF:START SEARCH-FORM -->
<form method="post" action="$sLinkSearch" id="searchForm">
<fieldset>
<span><label for="$lang[search]">$lang[search]</label><input type="text" size="15" name="sPhrase" id="$lang[search]" value="$sPhrase" class="input" maxlength="100" /></span>
<em><input type="submit" value="$lang[search] »" class="submit" /></em>
</fieldset>
</form><!-- IF:END SEARCH-FORM -->
そして、私はそれを次のように変更しました:
<!-- IF:START SEARCH-FORM -->
<form method="post" action="$sLinkSearch" id="searchForm2">
<fieldset>
<span> <input id="s" type="text" / <
<em><input type="submit" value="$lang[search] »" class="submit" /></em>
</fieldset>
</form><!-- IF:END SEARCH-FORM -->
検索結果を表示するページ ( $sLinkSearch
) で、次のように入力しました。
<div id="resultsDiv"> </div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
script.js$('#searchForm').submit();
で検索フォームを再送信するために最後に追加した必要があるのは、検索結果ページから同じ検索フォームに送信したばかりのテキストを入力して、必要な結果が表示されるようにする方法だけですに変更しようとし<input id="s" type="text" />
まし<input id="s" type="text" value="<?php echo htmlspecialchars($_POST['terms'])?>" />
たが、検索フォームに次のメッセージが表示されます: 解析エラー: 構文エラー、/home/vhosts/sunpower.eu5.org/core/libraries/tpl-parser.php(120) で予期しないエラー: 1 行目のコードを eval()
したため、正しく機能しません。php を使用せずに、最後に送信されたテキストを次の検索フォームに入力する代替手段はありますか? ちなみに、上記の検索フォームのあるウェブサイトはhttp://www.sunpower.eu5.orgです。