---
title: "Scriban文脈における埋め込みアイテムやオブジェクト"
slug: "the-embedded-items-and-objects-in-the-scriban-context"
abstract: ""
---
# Scriban文脈における埋め込みアイテムやオブジェクト

SXAは複数のオブジェクトをScribanレンダリングコンテキストに埋め込みます。これらのオブジェクトは通常のScriban変数と同様に使用できます。このトピックでは、デフォルトの埋め込みアイテムやオブジェクトについて説明します。

> !注利用可能な埋め込みオブジェクトは、コンポーネントHTMLやコンテンツのレンダリング機能の大部分をカバーしているはずです。より多くの機能が必要な場合は、SXAには2つのパイプラインが付属しており、Scribanコンテキストに追加オブジェクトを注入したり、アイテムプロパティリストを拡張したりできます。

## 埋め込み項目

Sitecoreはコンテンツをアイテム内に保存するため、SXAはScribanランタイム内に複数のコンテンツアイテムを埋め込みます。それらのアイテムを使ってフィールドの内容にアクセスしたり、子項目や親アイテムを取り出してアイテム構造をトラバースできます。

埋め込み項目

種類

価値

i\_home

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

レンダリングプロセスが行われるサイトのホームページ項目。

i\_datasource

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

コンポーネントのデータソースとして指定されたアイテムです。

i\_item

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

レンダリングバリアントの文脈内の現在の項目です。多くの場合、これは i\_datasourceと同等です。  
  
もしあなたのScribanテンプレートが *Query* や *Reference* レンダリングバリアントフィールドに埋め込まれていた場合、 i\_item 他のレンダリングバリアントフィールドがレンダリングプロセスに使うまさにそのアイテムになります。

i\_site

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

あなたのサイトのルート項目。ほとんどの場合、この項目はホームページの親項目です。

i\_page

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

現在レンダリングされているページを表すアイテムです。

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

コンテキストオブジェクトはより複雑な論理を実行できるようにします。例えば、ページが閲覧される状況に応じて異なるコンテンツをレンダリングしたり、編集者向けに追加データを表示し、訪問者には隠したり、ページの言語に応じて異なるテキストをレンダリングしたりします。

コンテキストオブジェクトは以下の表に記載されており、表の後で詳細に説明します。

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

種類

価値

o\_language

言語

現在のページにある言葉遣い。

o\_model

目的

MVCコントローラーレンダリングに渡されるモデル

o\_geospatial

Sitecore。XA。Foundation。Search。モデル。地理空間

現在レンダリングされているアイテムの位置情報と地理空間的プロパティ。

o\_context

Sitecore。XA。Foundation。Abstracs.IContext。

現在レンダリングされているページのコンテキスト情報。

o\_pagemode

Sitecore。XA。Foundation。Abstractions.IPageMode

現在レンダリングされているページのコンテキスト情報。

### o\_language

現在のページにある言葉遣い。

### o\_model

MVCモデルオブジェクト。このオブジェクトは使用するコンポーネントによって異なります。レンダリングに必要なビジネスロジックに基づいて、バックエンド開発者と連携してあらかじめ計算された値を提供する必要があります。

### o\_geospatial

現在レンダリングされているアイテムの位置情報と地理空間的プロパティ。

> !注このオブジェクトはSearch Resultsレンダリング内で地理空間検索を行う場合にのみアクセス可能です。

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

物件名

種類

使用例

poi\_type\_id

Sitecore。データ。ID

POIタイプのガイドです。

poi\_icon

ストリング

POIアイコンのURLです。

緯度

ダブル

レンダリングされるPOIの緯度。

経度

ダブル

レンダリングされるPOIの経度。

距離

ダブル – nullable

POIとクライアントの位置と検索サービスに提供された距離を返します。

部隊

ダブル - nullable

キロメートル、マイル。

### o\_context

コンテキストオブジェクトには、そのコンポーネントがレンダリングされるリクエストに関する情報が含まれています。ページモード、言語、テンプレートの一部を条件付きでレンダリングしたい他の有用な情報を含めることができます。

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

物件名

種類

使用例

is\_administrator

ブール

現在のユーザーが管理者であるかどうかを示します。

ユーザー

ユーザー

リクエストが実行されるユーザーのコンテキスト。

ドメイン

Sitecore。セキュリティ.ドメイン.ドメイン

リクエストが実行されるユーザーのドメイン。

データベース

Sitecore。データ。データベース

リクエストがデータの元となるデータベース。

### o\_pagemode

ページモードオブジェクトは、ページがどのモードでレンダリングされているかに応じて条件付きでレンダリングが必要なコードの表記を短縮するために抽出されたo\_contextオブジェクトの一部です。

以下の表はo\_pagemodeコンテキストオブジェクトの注目すべき特性を示しています。

物件名

種類

使用例

is\_debugging

ブール

ページがデバッグモードでレンダリングされていることを示します。

is\_experience\_editor

ブール

ページがエクスペリエンスエディター内でレンダリングされていることを示します。

is\_experience\_editor\_editing

ブール

ページがExperience Editorの編集モードでレンダリングされていることを示します。

is\_normal

ブール

ページが訪問者向けにレンダリングされていることを示します。

is\_preview

プレビューモードでエクスペリエンスエディター内でページがレンダリングされていることを示します。

is\_simulated\_device\_previewing

ページがExperience Editorのシミュレーションプレビューモードでレンダリングされていることを示します。

is\_profiling

ページがプロファイリング情報で表示されていることを示します。

例:

{{ if (o\_pagemode.is\_experience\_editor\_editing) }}
 <span>Click here to edit the component</span>
{{ else }}
 ... render the component here
{{ end }}