Categories: Shopify

【Shopify】ページで条件分岐、顧客タグで条件分岐

例えば、同じページテンプレートだが特定のページの時だけ処理を変えたいというとき。

また、リンクのジャンプ先を会員ユーザーはゲスト(非ログインユーザー)と違うページにしたいとき。

Shopifyではとても簡単に条件分岐を書けます!

『どのページか』で条件分岐

使用するliquidテンプレートタグはこちら。

{% if page.handle == 'hoge' %}
// hoge のページのみ表示するコンテンツ
{% endif %}
{% if page.handle != 'hoge' %}
// hoge のページ以外で表示するコンテンツ
{% endif %}

『ログインユーザーかどうか』で条件分岐

使用するliquidテンプレートタグはこちら。

 {% if customer %}
// ログイン時に行う処理
{% endif %}

応用して、マイページ or 会員ログイン機能を実装

{% if shop.customer_accounts_enabled %}
  {% if customer %}
    <a href="{{ routes.account_url }}">
      マイページ
    </a>
  {% else %}
    <a href="{{ routes.account_login_url }}">
      ログイン
    </a>
  {% endif %}
{% endif %}

さらに!アプリを使わずに会員種別を分けて、『どの会員種別か』で条件分岐

会員種別を作る方法はいくつかある

  • アプリを使用する
  • カスタムフィールドを使用する
  • 顧客情報に『タグ』をつける←今回こちら!

どこかのタイミングで顧客情報に何種類かの『タグ』を振り分けて付与するとする。

それさえできていれば、ユーザーのタグで条件分岐させることも簡単にできる。

これができれば、特定の会員種別のユーザーのみの特典ページへのリンクを作成できる。

{%- liquid
  if customer.tags contains '会員種別A'
    assign continue_shopping_url = '/pages/customer_rank_A'

  elsif customer.tags contains '会員種別B'
    assign continue_shopping_url = '/pages/customer_rank_B'

  elsif customer.tags contains '会員種別C'
    assign continue_shopping_url = '/pages/customer_rank_C'

  else
    assign continue_shopping_url = '/'
  endif
-%}

会員に応じたURLへジャンプ

注意としては特典ページのurlを知っているユーザーは、会員種別が違うユーザーでもこのページを見れてしまうこと。

それに関しては、特典ページ内で、特定の会員種別でないユーザーのときにページを離脱するjavascriptを記述することで対応するとよい。

ナナイロ

ECサイト制作に強いフロントエンドエンジニア。Web関連のお役立ち技術情報を発信しています。 2025年の最新のAI生成コーディングのコースをUdemyに公開いたしました。爆速でコードを書きたい方は必見です!! さらに、今年(2025年)からVoicyのパーソナリティに挑戦し始めました!ラジオでWebエンジニアの生の声をお届けしています。

Share
Published by
ナナイロ