Scriban テンプレートの埋め込み Commerce アイテムおよびオブジェクト
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
埋め込み関数と埋め込みオブジェクトおよびアイテムを使用して、SXA Storefront Scriban テンプレートをカスタマイズできます。
Commerce Foundation レイヤーは、通常の Scriban 変数と同じように使用できる Scriban レンダリング コンテキストに埋め込みオブジェクトを挿入します。これらの埋め込みオブジェクトは、次の図に示すように、正規 URL を使用していて、StorefrontContext
および SiteContext
のプロパティへのアクセスを提供する場合に特に便利です。
以下のコードを使用して、Scriban テンプレートからこれらのオブジェクトにアクセスします。
o_storefrontcontext.is_storefront_site
o_sitecontext.current_catalog_item
SXA Storefront は、ワイルドカード ナビゲーションをサポートしています。これは、カタログ アイテムの正規 URL を処理するときに使用されます。抽象化として、現在のカタログ アイテムにアクセスする場合、o_sitecontext.current_catalog_item
を使用でき、URL でワイルドカード ナビゲーションが使用されているか、それともダイレクト ナビゲーションが使用されているかに関係なく、カタログ アイテムは解決されます。現在のアイテムがカタログ アイテム (カテゴリまたは商品) であるか、通常のページ アイテムであるかをすばやく判断することもできます。
埋め込みアイテム
Sitecore はコンテンツをアイテム内に格納し、コンテンツ アイテムを Scriban ランタイムに埋め込みます。これらのアイテムを使用して、フィールドの内容にアクセスしたり、アイテム構造をトラバースして子または親を取得したりできます。Scriban コンテキストの埋め込みアイテムおよびオブジェクトを参照してください。
コンテキスト オブジェクト
コンテキスト オブジェクトを使用して、複雑なロジックを実装できます。これは、以下のレンダリング時に役立ちます。
-
ページが表示される状況に基づいて異なるコンテンツ。
-
エディター向けであり、ストアフロント サイトへの訪問者には非表示にする追加データ。
-
ページの言語に応じて異なるテキスト。
以下の表に、使用可能なコンテキスト オブジェクトを示します。
コンテキスト オブジェクト |
型 |
値 |
---|---|---|
o_storefrontcontext |
Sitecore.Commerce.XA.Foundation.Common. Context.IStorefrontContext |
現在のストアフロントのプロパティ、構成、および設定へのアクセスを提供するプロパティと構成。 |
o_sitecontext |
Sitecore.Commerce.XA.Foundation.Common. Context.ISiteContext |
現在のカタログ アイテムと関連するプロパティ。現在の HTTP コンテキストも含みます。 |
o_storefrontcontext
o_storefrontcontext
オブジェクトは、ストアフロント コンテキストを決定し、コンポーネントがレンダリングされるリクエストに関する情報を含みます。
次の表に、o_storefrontcontext
コンテキスト オブジェクトのプロパティを示します。
プロパティ |
型 |
用途 |
---|---|---|
Context |
|
|
CurrentStorefront |
|
現在のストアフロント サイトを確立します。 |
IsStorefrontApiCallResponseContext |
boolean |
現在のコンテキストが AJAX 呼び出し要求であるかどうかを示します。 |
IsStorefrontSite |
boolean |
現在のサイトがストアフロント サイトであるかどうかを示します。 |
o_sitecontext
o_sitecontext
オブジェクトは、サイトおよびページ固有のプロパティへのアクセスを提供し、現在のストアフロント サイトを決定し、カタログ アイテムと HTTP コンテキストを解決します。
次の表は、o_sitecontext
コンテキスト オブジェクトの主なプロパティを示しています。
プロパティ |
型 |
用途 |
---|---|---|
Context |
Sitecore.Commerce.XA.Foundation.Common. Context. IContext |
|
CurrentCatalogItem |
Sitecore.Data.Items.Item |
ワイルドカード アプローチが使用されている場合でも、現在選択されているカタログ アイテムにアクセスできます。 |
CurrentItem |
Sitecore.Data.Items.Item |
現在のコンテキスト アイテムを取得または設定します。ダイレクト ナビゲーションでは、 |
IsCategory |
boolean |
CurrentCatalogItem のインスタンスがカテゴリであるかどうかを示す値を取得します。 |
IsProduct |
boolean |
CurrentCatalogItem のインスタンスが商品であるかどうかを示す値を取得します。 |
Items |
System.Collections.IDictionary |
Http リクエストのキャッシュされたアイテムのコレクションへのアクセスを提供します。 |
UrlContainsCategory |
boolean |
現在の URL がカテゴリを含んでいるかどうかを確認します。 |
VirtualFolder |
文字列 |
サイト仮想フォルダーを取得します。 |