Функция локали?
Есть ли в SFCC функция на стороне сервера для получения локали? Спасибо!!!
Я локализую сайт sfcc, и мне нужно обновить локаль en_gb в тысячах жестко закодированных строк (в xml-файле, полученном из Merchant Tools > Content > Import & Export), чтобы код на стороне сервера динамически вставлял правильную локаль, т.е. en_gb, fr_fr и т. д. Я знаю, что есть несколько серверных функций, таких как $URL()$, которые могут выполняться до визуализации контента. Есть ли один, чтобы получить Locale?
вот что у меня сейчас... https://www.example.com/en_gb/holiday-sale-event/?prefn1=productType&prefv1=Shoes
в идеале я ищу что-то вроде: https://www.example.com/$ Locale () $ / holiday-sale-event /? prefn1 = productType & prefv1 = Shoes
Ожидаемые результаты будут:
https://www.example.com/en_gb/holiday-sale-event/?prefn1=productType&prefv1=Shoes
https://www.example.com/en_nl/holiday-sale-event/?prefn1=productType&prefv1=Shoes
https://www.example.com/fr_fr/holiday-sale-event/?prefn1=productType&prefv1=Shoes
https://www.example.com/de_de/holiday-sale-event/?prefn1=productType&prefv1=Shoes
... и т. д., в зависимости от региона.
2 ответа
Вы должны использовать $url()$
создать URL, который автоматически заполнит правильную строку локали в URL.
Предполагая, что приведенные выше примеры являются ссылками для уточненного поиска категории внутри категории с идентификатором: holiday-sales-event
Тогда ваш первый пример будет представлен так:
$url(Search-Show,cgid,holiday-sales-event,prefn1,productType,prefv1,shoes)$
Это создаст правильный локализованный URL для любого контекста локали, для которого отображается содержимое.
Поскольку часть URL-адреса "праздничные продажи-события", скорее всего, будет локализована сама по себе, то ваш предполагаемый подход приведет к 404-м или перенаправлениям как минимум.
Вы можете получить текущую локаль с помощью request.locale
var currentLocale = request.locale;