2

ストア全体の変数の下にリストされていますが、この変数を取得して、チェックアウトページのいずれかで値を返すことはできません (他の場所では可能です)。顧客の姓または名は取得できますが、これは取得できず、グループ名も取得できません。

彼らが属するグループ (または特定の人々のある種の共有顧客属性) に基づいて、特定の配送および支払いオプションを非表示にしたいと考えています。物を隠したり見せたりする方法は知っていますが、外部アプリを作成せずに、顧客グループ (または共有属性) に基づいてこれを実現するにはどうすればよいですか?

これが私が試した最新の方法です:

<span id="variable-for-user-name">%%GLOBAL_CurrentCustomerFirstName%%</span>
<span id="variable-for-user-group">%%GLOBAL_CustomerGroupId%%</span>

<script>
console.log("footer top");

var currentUserFirstName = $.trim($('span#variable-for-user-name').text());
var currentUserGroupId = $.trim($('span#variable-for-user-group').text());

console.log(currentUserFirstName);
console.log(currentUserGroupId);

console.log("footer bottom");
</script>

これらのスニペット (HTML と JS) を分離し、テンプレート ページに直接配置しました。基本的に、ページの本文のスクリプト タグ、.js ファイルなど、それらだけで条件付きロジック、またはコンソールログ...

4

1 に答える 1

1

特定の変数がサイト全体で使用できないことがわかりました。これはその 1 つです。私の解決策:

顧客が買い物をする前に表示できるページがいくつかあります。顧客がチェックアウトする前にたどり着くページは 2 つだけです。

BC グローバル変数にアクセスできる場所 (およびログイン、ログアウト、アカウント フォーム) のそれぞれに、(ログインしているかどうかに関係なく) BC グローバルの値を持つローカル変数を定義するコードを配置しました。 )、それを sessionStorage に保存します。

ユーザーがこれらのページの 1 つにアクセスするたびに、ローカル変数が BC グローバルの値で定義され、sessionStorage のエントリが置き換えられます。

元の BC グローバル変数が利用できないページで特定の顧客グループに合わせて機能を調整する必要がある場合、以前に定義した sessionStorage からエントリを取得します。

于 2016-08-31T23:14:09.107 に答える