Scriban コンテキストに埋め込まれたアイテムとオブジェクト
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SXA は、いくつかのオブジェクトを Scriban レンダリング コンテキストに埋め込みます。これらのオブジェクトは、通常の Scriban 変数と同様に使用できます。このトピックでは、デフォルトの埋め込みアイテムとオブジェクトについて説明します。
使用可能な埋め込みオブジェクトは、コンポーネントの HTML とコンテンツをレンダリングするためのほとんどの機能をカバーしています。より多くの機能が必要な場合、SXA には、追加のオブジェクトを Scriban コンテキストに挿入し、アイテム プロパティ リストを拡張できる 2 つのパイプラインが付属しています。
埋め込みアイテム
Sitecore はコンテンツをアイテム内に保存するため、SXA は Scriban ランタイム内にいくつかのコンテンツ アイテムを埋め込みます。これらのアイテムを使用して、フィールドのコンテンツにアクセスしたり、子または親を取得してアイテム構造をトラバースしたりできます。
埋め込みアイテム |
タイプ |
バリュー |
---|---|---|
i_home |
Sitecore.Data.Items.Item |
レンダリング プロセスが実行されるサイトのホーム ページ アイテム。 |
i_datasource |
Sitecore.Data.Items.Item |
コンポーネントのデータ ソースとして指定されたアイテム。 |
i_item |
Sitecore.Data.Items.Item |
レンダリング バリアント コンテキスト内の現在のアイテム。多くの場合、これは Scriban テンプレートがクエリーやリファレンスのレンダリング バリアント フィールド内に埋め込まれていた場合、 |
i_site |
Sitecore.Data.Items.Item |
サイトのルート アイテム。ほとんどの場合、このアイテムはホームページの親です。 |
i_page |
Sitecore.Data.Items.Item |
現在レンダリングされているページを表すアイテム。 |
コンテキスト オブジェクト
コンテキスト オブジェクトを使用すると、より複雑なロジックを実行できます。たとえば、ページが表示される状況に応じて異なるコンテンツをレンダリングしたり、追加のデータをエディターにはレンダリングして訪問者には非表示にしたり、ページの言語に応じて異なるテキストをレンダリングしたりします。
コンテキスト オブジェクトは次の表にリストされており、表の後に詳しく説明されています。
コンテキスト オブジェクト |
タイプ |
バリュー |
---|---|---|
o_language |
言語 |
現在のページの言語。 |
o_model |
オブジェクト |
MVC コントローラーのレンダリングに渡されるモデル |
o_geospatial |
Sitecore.XA.Foundation.Search.Models.Geospatial |
地理空間プロパティを持つ現在レンダリングされているアイテムの位置情報。 |
o_context |
Sitecore.XA.Foundation.Abstractions.IContext |
現在レンダリングされているページのコンテキスト情報。 |
o_pagemode |
Sitecore.XA.Foundation.Abstractions.IPageMode |
現在レンダリングされているページのコンテキスト情報。 |
o_language
現在のページの言語。
o_model
MVC モデル オブジェクト。このオブジェクトは、使用されるコンポーネントによって異なります。レンダリングが必要なビジネス ロジックに基づいて、事前計算された値を提供するようにバックエンド開発者と調整する必要があります。
o_geospatial
地理空間プロパティを持つ現在レンダリングされているアイテムの位置情報。
このオブジェクトは、検索結果のレンダリング内で地理空間検索を実行する場合にのみアクセスできます。
次の表は、o_geospatial コンテキスト オブジェクトの注目すべきプロパティを示しています。
プロパティ名 |
タイプ |
使用方法 |
---|---|---|
poi_type_id |
Sitecore.Data.ID |
POI タイプのGuid。 |
poi_icon |
文字列 |
POI アイコンの URL。 |
緯度 |
Double |
レンダリングされる POI の緯度。 |
経度 |
Double |
レンダリングされる POI の経度。 |
距離 |
Double – nullable |
POI と、検索サービスに提供されたクライアントの場所との距離を返します。 |
単位 |
Double – nullable |
キロメートル、マイル。 |
o_context
コンテキスト オブジェクトには、コンポーネントをレンダリングする対象のリクエストに関する情報が含まれています。テンプレートの一部を条件付きでレンダリングするために必要なページ モード、言語、その他の役立つ情報を含めることができます。
次の表は、o_context
コンテキスト オブジェクトの主なプロパティを示しています。
プロパティ名 |
タイプ |
使用方法 |
---|---|---|
is_administrator |
ブール値 |
現在のユーザーが管理者かどうかを示します。 |
ユーザー |
ユーザー |
リクエストが実行されるコンテキストのユーザー。 |
ドメイン |
Sitecore.Security.Domains.Domain |
リクエストが実行されるコンテキストのユーザーのドメイン。 |
データベース |
Sitecore.Data.Database |
リクエストがデータを取得する元のデータベース。 |
o_pagemode
pagemode オブジェクトは、ページがレンダリングされているモードに応じて、条件付きでレンダリングするコードの表記を短縮するために、抽出された o_context
オブジェクトの一部です。
次の表は、o_pagemode
コンテキスト オブジェクトの主なプロパティを示しています。
プロパティ名 |
タイプ |
使用方法 |
---|---|---|
is_debugging |
ブール値 |
ページがデバッグ モードで表示されることを示します。 |
is_experience_editor |
ブール値 |
ページがエクスペリエンス エディター内でレンダリングされることを示します。 |
is_experience_editor_editing |
ブール値 |
ページがエクスペリエンス エディターの編集モードでレンダリングされることを示します。 |
is_normal |
ブール値 |
ページが訪問者に表示されることを示します。 |
is_preview |
ページがエクスペリエンス エディターのプレビュー モードでレンダリングされることを示します。 | |
is_simulated_device_previewing |
ページがエクスペリエンス エディターのシミュレーター プレビュー モードでレンダリングされることを示します。 | |
is_profiling |
ページがプロファイリング情報を使用してレンダリングされることを示します。 |
例:
{{ if (o_pagemode.is_experience_editor_editing) }}
<span>[Click here to edit the component]</span>
{{ else }}
... render the component here
{{ end }}