[shopify]GETクエリの値を取得する処理を紹介いたします。

2021/02/10

メタフェイズではshopifyを利用したストア構築を行っています。

その工程の中のオリジナルデザインのテーマ開発にはshopifyのテンプレート言語「Liquid」を使用します。

今回はLiquidでGETクエリの値を取得する処理、

具体的には「https://xxxx.myshopify.com/search?type=product」へアクセスした際、typeの値を取得する処理を紹介いたします。

下記コードをファイル名:snippets/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 -%}
Liquid上のGETクエリの値を取得したい所でsnippets/function_get_query_value_by_key.liquidをインクルードします。
{%- include "function_get_query_value_by_key" key:"type" -%}
上記コード以降は変数「get_query_value_by_key」に文字列「product」が格納されています。
※includeの代わりにrenderが推奨されていますが、renderでは親テンプレートに値を渡せないためincludeを使用しています。
 
 
shopifyを利用したストアの構築・運用のご相談はお問い合わせフォームより受け付けております。
 
 

一覧へ戻る

採用情報

進化し続ける人、求めています。

変化の多い社会から必要とされる会社でありたい。

メタフェイズが大切にしているのは顧客本位の原点です。

あなたのヤル気とセンスが選考のポイントです。

ENTRY