【テーマ:Impuls】
検索窓に文字を1文字でも入力すると、検索画面が閉じてしまう問題が発生しています。
これは設定が要因でしょうか。
どなたか、返答いただけると助かります。
よろしくお願いいたします。
【テーマ:Impuls】
検索窓に文字を1文字でも入力すると、検索画面が閉じてしまう問題が発生しています。
これは設定が要因でしょうか。
どなたか、返答いただけると助かります。
よろしくお願いいたします。
@butti 様
確認したところ、
検索窓に文字を打ち込んだ際に、
https://{your_store_name}.myshopify.com/search/suggest?q=test&resources[limit]=3&resources[limit_scope]=each&resources[options][unavailable_products]=last§ion_id=search-results
というURLからサジェスト内容を取得しているようなのですが、
上記URLがエラーとなっているようです。
エラーの内容は、
Expectation failed: Unsupported shop primary locale
となっており、
https://zenn.dev/unreact/articles/ajax-api-reference-predictive-search
こちらの記事を参考にしますと、
テーマがサポートされている言語のいずれかを使用していない場合、API は次のようなエラーを返します。
とのことです。
上記情報をもとに、試しに、Shopifyストアの言語設定を日本語から英語に変更したところ、検索窓の不具合は解消しました。
まとめますと、
「Impulseが日本語対応のテーマではないからエラーが出ている」ということかと思います。
Impulseのベンダーにお問い合わせいただくことをお勧めいたします。
Impulseのベンダー: https://archetypethemes.co/
ご参考まで。
(キュー田辺)
私の方でもImpulseテーマの調査をしてみました。
今回の問題の原因ですが、
キュー田辺さんの回答にありますように、ImpulseテーマはPredictive search APIをいうShopifyの機能を使っています。
このAPIは予測検索のためのAPIで、カスタマーの入力した文字から予測される候補を取得することができます。
ImpulseテーマではこのAPIがエラーになった場合に、検索モーダルを閉じる仕様になっているため、今回の事象となっています。
(個人的には、予測検索ができなかっただけなので、検索モーダル自体を閉じる必要はないのではと思います)
また、エラーになる原因ですが、Predictive search APIに日本語が対応していないためです。
https://shopify.dev/docs/api/ajax/reference/predictive-search#requirements-and-limitations
したがって、ストアフロントの言語 (カスタマーが切り替えられる言語) を日本語にした場合、エラーを返します。
(キュー田辺さんの回答では、Shopifyストアの言語設定を日本語から英語していますが、厳密にはストアの言語ではなく、ストアフロントの言語が関係します)
解決策ですが、
Impulseテーマには、検索時に上記のPredictive search APIの利用可否を選択するオプションがありますので、この設定を向こうにすれば日本語でもエラーになることなく利用できると思います。
もしストアフロントで日本語以外も利用したい、かつ日本語以外では予測検索もしたいということであれば、テーマのベンダーにお問い合わせいただくのがよいかと思います。(テーマの実装を変える必要があります)