Liquid

[Liquid]/searchの仕様

公式説明ページ

 

/search?type=product

検索対象:商品

 

/search?type=article

検索対象:記事

 

/search?q=あいうえお

タイトルや説明に「あいうえお」が含まれるもの

 

/search?q=tag:apple

タグに「apple」が含まれるもの

 

/search?q=あいうえお tag:apple

タイトルや説明に「あいうえお」が含まれる かつ タグに「apple」が含まれるもの

 

/search?q=tag:apple tag:carrot

タグに「apple」「carrot」が両方含まれるもの

 

/search?q=tag:apple OR tag:carrot

タグに「apple」又は「carrot」が含まれるもの

 

/search?q=tag:apple (tag:carrot OR tag:radish)

タグに「apple」が含まれる かつ タグ「carrot」「radish」どちらか一方又は両方含まれるもの

 

/search?q=-tag:apple

タグに「apple」を含まないもの

 

/search?q=

検索結果に何も出ない。よって、この時のみ特別な処理(全商品表示)をする必要がある。

 

[Liquid]GETクエリの値を取得

参考:https://community.shopify.com/c/Shopify-Design/URL-Parameters-in-LIQUID/td-p/149761/page/2

function_get_query_value_by_key.liquid

{%- capture contentForQuerystring -%}{{ content_for_header }}{%- endcapture -%}
{%- assign pageUrl = contentForQuerystring | split:'"pageurl":"' | last | split:'"' | first | replace:'\/','/' | replace:'%20',' ' | replace:'\u0026','&' -%}
{%- assign get_query_value_by_key = '' -%}
{%- if pageUrl contains "?" -%}
    {%- assign pageQuerystring = pageUrl | split:'?' | last | replace:'=','&' -%}
    {%- assign tmp = pageQuerystring | split:'&' -%}
    {%- for kv in tmp -%}
        {%- if kv == key -%}
            {%- assign get_query_value_by_key = tmp[forloop.index] -%}
            {%- break -%}
        {%- endif -%}
    {%- endfor -%}
{%- endif -%}

使用時 typeの値を取得する

{%- include "function_get_query_value_by_key" key:"type" -%}
get_query_value_by_key:{{get_query_value_by_key}}

※renderを使用すると親テンプレートへ値を渡せないためincludeを使用