アイテムおよびフィールド拡張
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、フィールド、アイテムプロパティ、フィールドプロパティへのアクセスを容易にするSXAのアイテム拡張について説明します。
アイテムプロパティ
i_item。子供たち
アイテムの子リストをItemリストとして返します。
例
項目の子をリンクのリストとしてレンダリングします:
{{ for i_child in i_datasource.children }}
{{ i_child.Title }}
{{ end }}
i_item.display_name
アイテムのDisplay Nameを返品します。
例
データソース項目のDisplay nameをリンクのテキストとして使用して、コンポーネントデータソースへのリンクをレンダリングします:
i_item.id
商品のIDを返却します。
例
アイテムのIDを出力します:
{{ i_item.id }}
i_item.has_children(子どもたち)を
アイテムに子があるtrue返品します。
例
現在のページに子ページがある場合は、以下の子へのリンクを表示してください:
{{
if i_page.has_children
for i_child in i_page.children
}}{{ i_child.display_name }}
{{
end
end }}
i_item.has_layout
商品にレイアウト情報があれば返品true 。
例
子を持つページの子をレンダリングします:
{{
for i_child in i_page.children
if i_child.has_layout
}}{{ i_child.display_name }}
{{
end
end }}
i_item.言語
アイテムの言語コードを返します。
例
もしそのアイテムが英語でレンダリングされている場合、以下のような事実を記載したテキストを出力します。
{{ if i_page.language == 'en' }}
This page is rendered in English
{{ end }}
i_item.media_url
アイテムのメディアURLを返します。
例
Promoコンポーネント画像へのダウンロードリンクをレンダリングします:
i_item.名前
アイテムのNameを返品します。
例
データソース項目のNameをリンクのテキストとして使用して、コンポーネントデータソースへのリンクをレンダリングします:
i_item.パス
アイテムの経路を戻します。
例
/sitecore/content下にある場合のみリンクを表示してください:
{{ if string.starts_with i_item.path "/sitecore/content" }}
{{ i_item.Title }}
{{ end }}
i_item。親
アイテムの親を返却します。
例
データソース項目の親へのリンクをレンダリングします:
{{ i_item.parent.Title }}
{{ end }}
i_item.template_id
アイテムテンプレートのIDをstringとして返します。
例
アイテムのIDを出力します:
{{ i_item.template_id }}
i_item.template_name
アイテムテンプレートの名前をstringとして返します。
例
アイテムテンプレート名を返す:
{{ if i_item.template_name == "Gallery Image" }} ... render HTML for Gallery image {{end}}
i_item.url
サイトLinkProviderを使って商品のURLを返します。
例
データソース項目のDisplay nameをリンクのテキストとして使用して、コンポーネントデータソースへのリンクをレンダリングします:
i_item.version
アイテムのバージョン番号を返します。
例
アイテムのバージョン番号を出力してください:
{{ i_item.version }}
アイテムフィールドの取得とレンダリング
i_item。フィールドネーム
テンプレート内のフィールドをレンダリングします。
例
テンプレート内のフィールドを、アイテムオブジェクトにFieldNameを付け加えてレンダリングします:
{{ i_item.Title }}
!注i_item.FieldName 「.」「」「」や「空白」などの特殊文字を含むフィールドへのリンクをフォローすることはできません。データ属性やフィールドのフォールバックもサポートしていません。その場合はsc_field関数をご利用ください。
場の拡張特性
i_item。Field.raw
フィールドの生の値を返します。例えば、JavaScriptで使うアイテムや編集できないボタンのIDをレンダリングする場合などです。
例
ボタンでテキストをレンダリングする:
i_item。フィールド。ターゲット
項目へのリンクを格納できるフィールドで選択されたアイテムを返します。フィールドに複数のアイテムへのリンクを含めれば、リストの最初のアイテムが返されます。フィールドが空の場合は、関数はnull値を返します。
!注i_item.Field.target特殊文字(例えば「.」「」「」、空白欄など)を含むフィールドのリンクを追うことは許可しません。このような場合は、sc_follow関数を使用します。
例
プロモーションコンポーネントからリンクされた製品についてさらに詳しく表示してください:
{{ i_linkedpage = i_item.PromoLink.target }}
{{ i\_linkedpage.Title }}
Content:{{ i\_linkedpage.Content }}i_page。フィールド。ターゲット
項目へのリンクを格納できるフィールドで選択されたアイテムの配列を返します。フィールドが空の場合、関数は空のリストを返します。
!注i_page.Field.target特殊文字(例えば「.」「」「」、空白欄など)を含むフィールドのリンクを追うことは許可しません。このような場合は、sc_followmany関数を使用します。
例
現在の製品に関連する商品をレンダリングします:
{{ for i_product in i_page.RelatedProducts.targets }}
{{ i\_product.Title }}
Content:{{ i\_product.Content }}
{{ end }}フィールドカスケードとフォールバックの作業
フルエント表記法でフィールドを使う場合、フィールドカスケードやフォールバックを使って複雑なシナリオを簡素化できます。フルエント表記法でフィールドをカスケードリンクして、.targetヘルパーを呼ばずにアイテムに連絡を取ることができます。例えば: i_item.FieldLinkingToItem.HelperOrFieldToRender。
例えば、記事ページ上のFirstNameというフィールドをレンダリングする場合、それはAuthor Infoというフィールドの一部であり、Authorというフィールドの一部である:
Article by: {{ i_page.Author.FirstName }}
複数のデータテンプレートをサポートするテンプレートは、フィールド名を流暢な表記法でカスケードすることで作成できます。テンプレートエンジンはフィールドを左から右に解析・レンダリングしようとし、アイテム上で最初に見つけたフィールドをレンダリングします。
例えば、ページにAuthorフィールドがない場合、テンプレートエンジンはi_pageから直接FirstNameフィールドをレンダリングしようとします。