0

ここで何が起こっているのかを理解しようとできる限りのことをしましたが、役に立ちませんでした。

指示に従って、クライアント Web サイトのローカル開発インスタンスに Algolia をインストールしました。Elasticsearch を無効にした後、要素を調べて、algolia-searchbox div が適切に表示されることを確認できます。ただし、想定どおりには機能しません。その検索はalgolia検索ボックス内にありますが、magento検索機能を使用しているようです。

もう少し掘り下げました。キャンバス外のメニューが原因で、トップサーチがページ上で 2 回レンダリングされていることがわかりました。ウィンドウを小さくしてレンダリングするための適切なサイズに縮小すると、検索はそのセクションでも行われますが、Algolia 検索が機能するはずなので、実際には機能します。

<reference name="header">
   <remove name="top.search"/>
   <block type="algoliasearch/search_form" name="top.algoliasearch" as="topSearch"/>
   <action method="setTemplate"><template>algoliasearch/topsearch.phtml</template></action>
</reference>

最初の質問は、これをオフキャンバス メニュー機能を利用したレスポンシブ デザインで動作させるための最良の方法は何かということです。2 番目にレンダリングされたオフキャンバス メニューは、2 回レンダリングされるため、通常のトップサーチ エリアに対して行われたことを上書きしてしまい、これは大きな問題です。

これまでのところ、通常のヘッダーに正しい検索バーを表示できた唯一の方法は、これを algoliasearch.xml に入れることです。

これにより、ヘッダーが完全に削除されますが、実際には正しい検索バーが表示されます。構文が正しくないことはわかっていますが、トラブルシューティングの際に...

私が直面している 2 番目の問題は、実際に表示される検索バーを (上記のヘッダー xml ピースを介して、または小さいブラウザー サイズを使用してオフ キャンバス メニュー検索をレンダリングすることによって) 使用しても、最終的に結果ページが表示されることです。通常の Magento の結果ページです。検索バーに入力しているときに [ネットワーク] パネルにアクティビティが表示されますが、送信するとすぐにすべてが消えて空白のままになります。

ご協力いただきありがとうございます。

4

1 に答える 1

1

私の特定のケースで行われたすべての変更は、 app\design\frontend\base\default\template\algoliasearch\topsearch.phtml ファイルで行われました

  1. 546 行目あたりで、「search」を [id="search"] に置き換えます。これは、最後にレンダリングされた入力のみにバインドするのではなく、両方の入力にバインドします。

  2. 次の追加が行われました (基本的には、 536 行目のalgoliaBundle.$(function($) {のすぐ下に$(document).ready(function () {を追加し、その中にすべてをラップします: https://github. com/algolia/algoliasearch-magento/blob/master/design/frontend/template/topsearch.phtml#L536 https://github.com/algolia/algoliasearch-magento/blob/master/design/frontend/template/topsearch.phtml #L1735

  3. 1284 行: 変更: if ($(algoliaConfig.instant.selector).length !== 1)if ($(algoliaConfig.instant.selector).length < 1)に変更

  4. インスタント セレクターを .main から .main-container に変更しました

于 2015-11-20T13:55:47.580 に答える