---
title: "Scribanテンプレート用の埋め込みされたCommerceアイテムとオブジェクト"
slug: "the-embedded-commerce-items-and-objects-for-scriban-templates"
abstract: "SXAストアフロント特有のScriban製品およびオブジェクトの概要。"
---
# Scribanテンプレート用の埋め込みされたCommerceアイテムとオブジェクト

[組み込み関数](https://doc.sitecore.com/xp/ja/developers/100/sitecore-experience-commerce/the-embedded-commerce-functions-for-scriban-templates.html "The embedded Commerce functions for Scriban templates")や[埋め込みオブジェクト・アイテム](https://doc.sitecore.com/xp/en/developers/sxa/100/sitecore-experience-accelerator/item-and-field-extensions.html)を使ってSXA Storefront Scribanテンプレートをカスタマイズできます。

Commerce Foundationレイヤーは、通常のScriban変数と同様に使用可能な埋め込みオブジェクトをScribanのレンダリングコンテキストに注入します。これらの埋め込みオブジェクトは、標準的なURLを使用する場合に特に有用で、以下の図に示すようにStorefrontContextおよびSiteContextのプロパティへのアクセスを提供します。

![Class diagram for the iStorefront and ISiteContext.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/100/sitecore-experience-commerce/images/StorefrontContext.png)

これらのオブジェクトは、以下のコードを使ってScribanテンプレートからアクセスできます。

o\_storefrontcontext.is\_storefront\_site
o\_sitecontext.current\_catalog\_item

SXA Storefrontはワイルドカードナビゲーションをサポートしており、これはカタログアイテムの標準URLを扱う際に使われます。抽象化として、現在のカタログアイテムにアクセスしたいときにこのo\_sitecontext.current\_catalog\_itemを使えば、URLにワイルドカードやダイレクトナビゲーションが使われていてもカタログアイテムを解決します。また、現在のアイテムがカタログアイテム(カテゴリや製品)か、通常のページアイテムかを素早く判別することもできます。

## 埋め込み項目

Sitecoreはアイテム内にコンテンツを保存し、Scribanランタイム内にコンテンツアイテムを埋め込みます。これらのアイテムを使ってフィールドの内容にアクセスしたり、子項目や親オブジェクトを取得してアイテム構造をトラバースできます。 [Scribanのコンテキストで埋め込まれたアイテムとオブジェクト](https://doc.sitecore.com/xp/en/developers/sxa/100/sitecore-experience-accelerator/the-embedded-items-and-objects-in-the-scriban-context.html)を参照してください。

## コンテキストオブジェクト

複雑な論理はコンテキストオブジェクトを使って実装できます。これはレンダリング時に有用です:

-   閲覧される状況に応じて異なる内容を選びます。
-   編集者向けの追加データですが、店舗サイトの訪問者には隠しています。
-   ページの言語によって異なるテキストが使われています。

以下の表は利用可能なコンテキストオブジェクトを一覧にしています。

コンテキストオブジェクト

種類

価値

o\_storefrontcontext

Sitecore。Commerce.XA.Foundation.Common.コンテキスト.IStorefrontContext

現在のストアフロントのプロパティ、設定、設定へのアクセスを可能にするプロパティや設定です。

o\_sitecontext

Sitecore。コマース.XA.Foundation.Common。コンテキスト.ISiteコンテキスト

現在のカタログ項目および関連するプロパティ。また、現在のHTTPコンテキストも含んでいます。

### o\_storefrontcontext

o\_storefrontcontextオブジェクトはストアフロントのコンテキストを決定し、コンポーネントがレンダリングされるリクエストに関する情報を含みます。

以下の表はo\_storefrontcontextコンテキストオブジェクトのプロパティを示しています。

財産

種類

使用例

背景

Sitecore.Commerce.XA.Foundation.Common. Context. IContext

HttpContextプロパティにアクセスするインターフェースを提供します。

カレントストアフロント

Sitecore.Commerce.XA.Foundation. Common.Models. CommerceStorefront

現在の店舗の跡地を確立しました。

IsStorefrontApiCallResponseContext

ブール値

現在のコンテキストがAJAXコールリクエストかどうかを示します。

IsStorefrontSite

ブール値

現在のサイトが店舗サイトかどうかを示します。

### o\_sitecontext

o\_sitecontextオブジェクトはサイトやページ固有のプロパティへのアクセスを提供し、現在のストアフロントサイトを決定し、カタログ項目およびHTTPコンテキストを解決します。

以下の表は、o\_sitecontextコンテキストオブジェクトの注目すべきプロパティを一覧にしています。

財産

種類

使用例

背景

Sitecore。Commerce.XA.Foundation.Common.コンテキスト。IContext。

HttpContextプロパティにアクセスするインターフェースを提供します。

現在のカタログ項目

Sitecore。データ。アイテム。アイテム

ワイルドカード方式を使っていても、現在選択されているカタログアイテムにアクセスできます。

CurrentItem

Sitecore。データ。アイテム。アイテム

現在のコンテキスト項目を取得したり設定したりします。直接ナビゲーションの場合、 CurrentCatalogItemと同じです。

IsCategory

ブール値

CurrentCatalogItemのインスタンスがカテゴリかどうかを示す値が付与されます。

IsProduct

ブール値

CurrentCatalogItemのインスタンスが製品かどうかを示す値が付与されます。

アイテム

System.Collections.IDictionary

Httpリクエストキャッシュアイテムのコレクションへのアクセスを提供します。

UrlContainsCategory

ブール値

現在のURLにカテゴリが含まれているかどうかを判定します。

VirtualFolder

ストリング

サイトの仮想フォルダを入手します