1

私は Magento2 を初めて使用します。新しいフィルターを検索モジュールに追加しようとすると問題が発生します。

例えば:

タイプ「テキストフィールド」の「フラグ」という名前の属性を作成しました。これはストアフロントでは非表示になります。

私は3つの製品を持っています:

名前 | 説明 | 国旗

製品1 | 説明1 | 1

製品2 | 説明2 | 1

製品3 | 説明3 | 0

検索ボックスに「製品」と入力すると、デフォルトで Magento2 はすべての製品を返します。これは、すべてが検索に一致するためです。必要なのは、フラグ = 1 の製品のみを返すフィルターを検索に追加することです。製品 1 と 2 のみを返します。

オーバーライドする必要がある正確なブロックまたはモデルが何であるかわかりません。

前もって感謝します

4

1 に答える 1

1

この属性を検索フォームの下に、フィルターに使用する値を持つ隠しフィールドとして追加できます。ユーザーが検索ボタンをクリックすると、クエリ文字列にもう 1 つのパラメーター ( ?q=product&flag=1 ) を追加して検索が実行され、期待される結果が得られます。この方法では、ブロックやコントローラーを上書きする必要はありません。ただし、デフォルトの検索フォームを上書きする必要があります。以下の URL は、コアの magento ファイルを上書きするのに役立ちます。

参考URLhttps ://magento.stackexchange.com/questions/84550/magento-2-override-base-view-file

注:この手法は、自動検索では機能しません。その場合、コア検索ブロックを上書きする必要があります。

于 2016-03-03T09:52:12.477 に答える