•
指定商品や特定アクションを起こしたい場合をトリガーにして、タグを自動付与:
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
복사