Search

ログイン後に指定したURL(限定会員専用ページ)に直遷移する方法

担当者
URL
タグ
販売導線設計
小カテゴリー
公式LINEアカウント、ShopifyFlow、easylockdown
日付
次のタスクにより保留中:
次のタスクを保留中:
指定商品や特定アクションを起こしたい場合をトリガーにして、タグを自動付与:
ShopifyFlow
特定タグが付与されている顧客のみに閲覧できるページを設定:
ログイン後に特定タグが付与されていれば限定ページが閲覧可能

ログイン直後のページ先を指定する方法

AAAページからログインした後に、BBBページに遷移させる方法
テーマのDawnの場合、main-login.liquidファイルの87行目に、 {%- form 'customer_login'のような記述があると思います。
その配下に、下記のように遷移元と遷移先の情報を指定すれば、遷移するはずです。
{%- form 'customer_login', novalidate: 'novalidate' -%} <!--- Mikawaya 追加分 終了 --> <input type="hidden" name="return_to" value="" id="mikawaya-redirect"> <script> window.addEventListener('DOMContentLoaded', function() { const referrer = document.referrer; <!-- 遷移元 --> if(referrer?.includes('pages/agmax')){ const redirect = document.getElementById('mikawaya-redirect'); <!-- 遷移先 --> redirect.value='/collections/premium'; } }); </script> <!--- Mikawaya 追加分 終了 --> {%- if form.errors -%} <h2 class="form__message" tabindex="-1" autofocus> <span class="visually-hidden">{{ 'accessibility.error' | t }} </span> <svg aria-hidden="true" focusable="false" role="presentation" viewBox="0 0 13 13"> <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"/> <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"/> <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"/> <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"> </svg> {{ 'templates.contact.form.error_heading' | t }} </h2> {{ form.errors | default_errors }} {%- endif -%}
JavaScript
복사
※遷移元、遷移先のURLが日本語の場合はうまく動作しない為、その場合は下記に変更
if(referrer?.includes('/products/flow調査用')){ //<---遷移元 ↓↓↓ if(referrer?.includes('/products/flow')){ //<---遷移元
JavaScript
복사
ログインしていない場合、ログインページに遷移させる方法
対象が、「/pages/premiumonly」の場合、main-page.liquidに下記のスクリプトを埋め込む
※header.liquidでもOK
<div id="{{ section.settings.section_id }}" class="page-width{% if section.settings.narrow %} page-width--inner{% endif %} section--padding"> ーーー 省略ーーー  </div> <!--- 20240426 追加分 開始---> <script> window.addEventListener('DOMContentLoaded', function() { {% if request.path == '/pages/premiumonly' %} {% if customer %} {% else %} document.location ='/account/login' {% endif %} {% endif %} }); </script> <!--- 20240426 追加分 終了---> {% schema %} ーーー 省略ーーー  {% schemaend %}
JavaScript
복사
(2024/06/12 追記分)
ログイン後に、会員タグに「プレミアム会員」が設定されている場合は、「collections/premium」に遷移させ、それ以外は「pages/premiumonly」に遷移させる設定
テーマのDawnの場合、main-login.liquidファイルの70行目に
<!--- Mikawaya 追加分 開始 --> <input type="hidden" name="return_to" value="" id="mikawaya-redirect"> <script> window.addEventListener('DOMContentLoaded', function() {                // ログイン情報があった場合、プレミアム会員の場合とそうでない場合に遷移先を分け                // すぐにリダイレクトをさせる {% if customer %} {% if customer.tags contains "プレミアム会員" %} window.location.href = '/collections/premium'; {%- else -%} window.location.href = '/pages/premiumonly'; {% endif %} {% endif %}                // ログイン情報がない場合、ログイン後に、プレミアム会員の場合とそうでない場合に遷移先を分ける const referrer = document.referrer; const redirect = document.getElementById('mikawaya-redirect'); if(referrer?.includes('collections/premium') || referrer?.includes('pages/premiumonly') ){ redirect.value='/collections/premium'; } else if(referrer?.includes('agmax')){ redirect.value='/collections/premium'; }else{ redirect.value=""; } }); </script> <!--- Mikawaya 追加分 終了 -->
JavaScript
복사