2 votes

Fonction Locale ?

Existe-t-il une fonction côté serveur dans SFCC pour obtenir la Locale ? Je vous remercie !

Je suis en train de localiser un site sfcc, et j'ai besoin de mettre à jour la locale en_gb dans des milliers de chaînes codées en dur (dans un fichier xml obtenu à partir de Merchant Tools > Content > Import & Export) vers un code côté serveur qui insérera dynamiquement la locale correcte, c'est-à-dire en_gb, fr_fr, etc. Je sais qu'il existe quelques fonctions côté serveur comme $URL()$ qui peuvent être exécutées avant que le contenu ne soit rendu. Existe-t-il une fonction permettant d'obtenir la locale ?

voici ce que j'ai maintenant... https://www.example.com/en_gb/holiday-sale-event/?prefn1=productType&prefv1=Shoes

idéalement, je cherche quelque chose comme.. : https://www.example.com/ $Locale()$/holiday-sale-event/?prefn1=productType&prefv1=Shoes

Les résultats attendus sont les suivants :

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

...etc., en fonction du lieu.

2voto

sholsinger Points 1570

Vous devez utiliser $url()$ pour générer l'URL, ce qui permet de renseigner automatiquement la chaîne de caractères locale correcte dans l'URL.

En supposant que les exemples ci-dessus soient des liens pour une recherche de catégorie affinée dans une catégorie avec l'ID : holiday-sales-event Dans ce cas, votre premier exemple serait représenté comme suit :

$url(Search-Show,cgid,holiday-sales-event,prefn1,productType,prefv1,shoes)$

Cela produira l'URL localisée correcte pour le contexte local dans lequel le contenu est rendu.

Étant donné que la partie "holiday-sales-event" de l'URL est susceptible d'être localisée, l'approche que vous souhaitez adopter aboutirait au minimum à des 404 ou à des redirections.

0voto

m4t.z Points 79

Vous pouvez obtenir la locale actuelle avec request.locale

var currentLocale = request.locale;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X