SFCC 中有服务器端函数来获取 Locale 吗?谢谢!!!
我正在本地化 sfcc 网站,需要将数千个硬编码字符串(在从商家工具 > 内容 > 导入和导出获取的 xml 文件中)中的 en_gb 语言环境更新为服务器端代码,以便动态插入正确的语言环境,即 en_gb、fr_fr 等。我知道有一些服务器端函数,例如 $URL()$ 可以在呈现内容之前运行。有没有办法获取区域设置?
这是我现在拥有的... https://www.example.com/en_gb/holiday-sale-event/?prefn1=productType&prefv1=Shoes
理想情况下,我正在寻找类似的内容:https://www.example.com/ $Locale()$/holiday-sale-event/?prefn1=productType&prefv1=鞋子
预期结果是:
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
...等,取决于区域设置。
最佳答案
您应该使用 $url()$
生成 URL,该 URL 将自动填充 URL 中的正确区域设置字符串。
假设上述示例是 ID 为 holiday-sales-event
的类别内精细类别搜索的链接,那么您的第一个示例将表示为:
$url(Search-Show,cgid,holiday-sales-event,prefn1,productType,prefv1,shoes)$
这将为呈现内容的任何语言环境上下文生成正确的本地化 URL。
由于 URL 的“假日销售事件”部分可能会自行本地化,因此您的预期方法至少会导致 404 或重定向。
关于demandware - 区域设置功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57210435/