SCSオブジェクトについて
コントローラJavaScriptは、Webページをレンダリングするために、グローバルSCSオブジェクトで定義されている変数およびプロパティを使用します。 グローバルJavaScriptオブジェクトは、controller.jsファイルの包含前にコントローラ・ファイルで定義する必要があります。 カスタマイズに使用できるSCSオブジェクトには2つの主要プロパティがあります:
SCS.sitePrefix
SCS.sitePrefix
変数は、オンライン・サイトのパス・プレフィクスを定義します。 通常、これはsite/<siteName>/
にデフォルト設定されます。
コントローラJavaScriptは、この値を使用して、どのWebページを表示するかを決定します。 たとえば、ブラウザが/site/SampleSite/products/index.html
でページをリクエストしている場合、sitePrefix /site/SampleSite/
を使用すると、JavaScriptでサイトのproducts/index.html
ページが表示されるようにコンピュートできます。 sitePrefixは、" /
"文字で始まり、終わる文字列値である必要があります。
/intranet/ExampleSite/
に設定すると、デフォルトの/site/SampleSite/
パス・プレフィクスではなく、ブラウザでそのパス名を使用してwebサイトが配信されます。
ノート:
内部的には、デフォルト・コントローラJavaScriptは、ブラウザのURLがサイト・プレフィクスと一致しない場合、sitePrefixとして"/
"を使用します。 これにより、カスタマイズすることなく、バニティ・ドメインを使用してサイトを提供できます。
SCS.preInitRendering
定義されている場合、SCS.preInitRendering
関数は、その計算ロジックが実行される前に、コントローラのJavaScriptコードによってコールされます。 これは、コントローラJavaScriptの基本操作をオーバーライドするカスタム・コントローラ・ファイルでの定義で役立つ関数です。
定義されている場合、SCS.preInitRendering
は関数である必要があります。 これは、引数なしでコールされ、戻り値は必要なく、処理されません。
SCS.getDeviceInfo
SCS.getDeviceInfo
関数を使用すると、コントローラJavaScript内のデバイス検出ロジックをカスタマイズできます。 この検出は、ページのモバイル・バージョンまたはレスポンシブ・バージョンのいずれを配信するかどうかの決定に使用されます。
SCS.getDeviceInfo
関数は引数を取らず、次の2つのプロパティを持つJavaScriptオブジェクトを返します:
-
isMobile - 現在のデバイスがスマートフォンなどのモバイル・クライアントであることを示すブール・プロパティ。
-
isIOS - 現在のデバイスがisIOSベースのオペレーティング・システムで実行されていることを示すブール・プロパティ。
カスタム・コントローラがSCS.getDeviceInfo
をオーバーライドしない場合、組み込みのデフォルト実装が使用されます。