Le code JavaScript de contrôleur utilise les variables et les propriétés définies dans l'objet SCS global pour afficher la page Web. L'objet JavaScript global doit être défini dans le fichier de contrôleur avant l'inclusion du fichier controller.js. Deux propriétés principales de l'objet SCS peuvent être utilisées pour la personnalisation :
La variable SCS.sitePrefix
définit le préfixe de chemin du site en ligne. La valeur par défaut est normalement site/<siteName>/
.
Le code JavaScript de contrôleur utilise cette valeur pour déterminer quelle page Web afficher. Par exemple, si le navigateur demande la page à l'adresse /site/SampleSite/products/index.html
, le sitePrefix /site/SampleSite/
permet au code JavaScript de déterminer que la page products/index.html
du site doit être affichée. Le sitePrefix doit être une valeur de chaîne commençant et se terminant par le caractère "/
".
/intranet/ExampleSite/
, le site Web peut être diffusé dans le navigateur avec ce chemin d'accès plutôt qu'avec le préfixe de chemin par défaut (/site/SampleSite/
).
Remarque :
En interne, le code JavaScript de contrôleur par défaut utilise "/
" en tant que sitePrefix si l'URL dans le navigateur ne correspond pas au préfixe de site. Le site peut ainsi être diffusé à l'aide d'un domaine de produit sans personnalisation.Si elle est définie, la fonction SCS.preInitRendering
est appelée par le code JavaScript de contrôleur avant toute exécution de la logique de calcul. Cette fonction utile peut être définie dans les fichiers de contrôleur personnalisés pour remplacer le fonctionnement de base du code JavaScript de contrôleur.
Si elle est définie, la propriété SCS.preInitRendering
doit être une fonction. Elle est appelée sans arguments et aucune valeur renvoyée n'est attendue ni traitée.
La fonction SCS.getDeviceInfo
autorise la personnalisation de la logique de détection d'appareil dans le code JavaScript de contrôleur. Cette détection permet de déterminer si une version mobile ou réactive d'une page doit être diffusée.
La fonction SCS.getDeviceInfo
n'accepte aucun argument. Elle renvoie un objet JavaScript comportant deux propriétés :
isMobile : propriété booléenne indiquant que l'appareil en cours est un client mobile, par exemple un smartphone.
isIOS : propriété booléenne indiquant que l'appareil en cours fonctionne sous un système d'exploitation iOS.
Si le contrôleur personnalisé ne remplace pas SCS.getDeviceInfo
, l'implémentation par défaut intégrée est utilisée.