%%GLOBAL_CustomerGroupId%% - Область действия
Хотя он указан в списке переменных в магазине, я не могу заставить эту переменную возвращать значение на любой из страниц оформления заказа (в других местах, где я могу). Я могу получить имя или фамилию клиента, но не это или даже имя их группы.
Я хочу скрыть определенные варианты доставки и оплаты в зависимости от группы, в которой они находятся (или какой-то общий атрибут клиента для определенных людей). Я знаю, как скрывать и показывать вещи, но как я могу добиться этого на основе группы клиентов (или общего атрибута) без создания внешнего приложения?
Вот последний способ, который я попробовал:
<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, просто используя их наедине с условной логикой или консольным логом...
1 ответ
Оказывается, определенные переменные недоступны для всего сайта, и это одна из них. Мое решение:
Есть несколько разных страниц, на которые клиент может попасть перед покупкой. Есть ровно две страницы, на которые клиент попадет перед проверкой.
В каждом из тех мест, где глобальная переменная BC доступна (а также формы входа в систему, выхода из системы и учетной записи), я поместил фрагмент кода, который определяет локальную переменную со значением глобальной BC (независимо от того, вошел в систему или нет).), затем сохраняет его в sessionStorage.
Каждый раз, когда пользователь нажимает на одну из этих страниц, локальная переменная определяется значением BC global и заменяет запись в sessionStorage.
Когда мне нужно адаптировать функцию для определенной группы клиентов на странице, где исходная глобальная переменная BC недоступна, я беру запись из sessionStorage, которая была определена ранее.