特定のページのコードを条件分岐で書く

AI-generated summary

theme.liquidでページごとに異なる見出しを表示したい、という質問。対象はShopifyのポリシーページで、template 判定だけでは /policies/... の各URLをどう条件分岐すればよいかが論点になっていた。

  • 提案された解決策: template に加えて request.path を使い、{% elsif request.path == '/policies/privacy-policy' %} のようにURLパス単位で分岐する方法。
  • これにより、通常のテンプレート判定では拾いにくいポリシーページも個別に判定できると説明された。

質問者はこの回答に納得し、実際には暫定的に page_title で「利用規約」「プライバシーポリシー」「特定商取引法に基づく表記」「配送ポリシー」などを判定して見出しを出していたことも共有した。

現時点では、request.path を使う方法が有効な解決案として提示され、議論は実質的に解決済み。コード断片が理解の中心となっている。

初めまして。ご覧いただきありがとうございます。

debutを使って、theme.liquidに下記のコードでページごとに決まった文字を出したいのですが、

/policies/shipping-policy

/policies/terms-of-service.html

/policies/privacy-policy.html

/policies/legal-notice.html

のページの場合の条件はどう書いたら良いかわかりません。

無作法がありましたら申し訳ございません。

詳しい方、お知恵をお借りできると幸いです。

よろしくお願いいたします。

↓例)このような感じで記述しています。

{% if template == ‘collection’ %}

COLLECTION

{% elsif template == ‘list-collections’ %}

COLLECTIONS LIST

{% elsif template == ‘product’ %}

PRODUCT

{% elsif template == ‘cart’ %}

CART

{% endif %}

初めまして、上水流と申します。

現在のtemplateでの判定に、以下のようにrequest.pathでの判定を追加することで実現可能かと思われます。

{% if template == 'collection' %}
	  # COLLECTION

  {% elsif template == 'list-collections' %}
	  # COLLECTIONS LIST

  {% elsif template == 'product' %}
	  # PRODUCT

  {% elsif template == 'cart' %}
	  # CART
  
  {% elsif request.path  == '/policies/privacy-policy' %}
      # privacy-policy

  {% elsif request.path  == '/policies/refund-policy' %}
  	# refund-policy
  
  {% endif %}

ご参考になりましたら幸いです。

んるほどです!

機転が聞きませんでした。
ありがとうございます。

{% elsif page_title == ‘チャレンジ’ %}

AUTHENTICATION

{% elsif page_title == ‘アカウント’ %}

LOG IN

{% elsif page_title == ‘アカウントを作成する’ %}

CREATE ACCOUNT

{% elsif page_title == ‘利用規約’ %}

SERVICE

{% elsif page_title == ‘プライバシーポリシー’ %}

PRIVACY POLICY

{% elsif page_title == ‘特定商取引法に基づく表記’ %}

LEGAL NOTICE

{% elsif page_title == ‘配送ポリシー’ %}

SHIPPING POLICY

{% elsif page_title == ‘住所’ %}

ADDRESS

こんなことで代用しておりました。

お恥ずかしぃ〜・・・