Das Controller-JavaScript verwendet zum Rendern der Webseite im globalen SCS-Objekt definierte Variablen und Eigenschaften. Das globale JavaScript-Objekt muss vor der Aufnahme in die Datei controller.js in der Controllerdatei definiert werden. Es gibt zwei Haupteigenschaften im SCS-Objekt, die zur Anpassung verwendet werden können:
Die Variable SCS.sitePrefix
definiert das Pfadpräfix der Onlinesite. Standardmäßig lautet dieses: site/<siteName>/
.
Das Controller-JavaScript bestimmt mit diesem Wert, welche Webseite angezeigt werden soll. Beispiel: Wenn der Browser eine Seite unter /site/SampleSite/products/index.html
abfragt, kann das JavaScript anhand von sitePrefix /site/SampleSite/
berechnen, dass die Seite products/index.html
in der Site angezeigt werden soll. sitePrefix muss ein Zeichenfolgenwert sein, der mit einem "/
"-Zeichen beginnt und endet.
/intranet/ExampleSite/
festgelegt ist, könnte die Website mit diesem Pfadnamen statt mit dem standardmäßigen Pfadpräfix /site/SampleSite/
im Browser bereitgestellt werden.
Hinweis:
Das Standardcontroller-JavaScript verwendet intern "/
" als sitePrefix, wenn die URL im Browser nicht mit dem Sitepräfix übereinstimmt. So kann die Site mit einer Vanity-Domain ohne Anpassung bereitgestellt werden.Die Funktion SCS.preInitRendering
wird (sofern definiert) vom Controller-JavaScript-Code vor Ausführung der Berechnungslogik aufgerufen. Diese Funktion ist für das Definieren in benutzerdefinierten Controllerdateien nützlich, um Basisvorgänge des Controller-JavaScripts außer Kraft zu setzen.
SCS.preInitRendering
muss (sofern definiert) eine Funktion sein. Sie wird ohne Argumente aufgerufen, und es wird kein Rückgabewert erwartet oder verarbeitet.
Mit der Funktion SCS.getDeviceInfo
kann die Geräteerkennungslogik im Controller-JavaScript angepasst werden. Mit dieser Erkennung kann bestimmt werden, ob eine mobile oder responsive Version einer Seite bereitgestellt werden soll.
Die Funktion SCS.getDeviceInfo
akzeptiert keine Argumente und gibt ein JavaScript-Objekt mit zwei Eigenschaften zurück:
isMobile - eine boolesche Eigenschaft, die anzeigt, dass das aktuelle Gerät ein mobiler Client ist, z.B. ein Smartphone.
isIOS - eine boolesche Eigenschaft, die anzeigt, dass auf dem aktuellen Gerät ein iOS-basiertes Betriebssystem ausgeführt wird.
Wenn der benutzerdefinierte Controller SCS.getDeviceInfo
nicht außer Kraft setzt, wird die integrierte Standardimplementierung verwendet.