レンダリング バリアントを作成する

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

SXAには、デフォルトのレンダリングとレンダリング バリアントのセットが付属しています。レンダリング バリアントは、既定のレンダリングを構成可能に調整したものです。再利用性を促進するために、デザイナーやフロントエンド開発者は新しいレンダリングバリアントを作成することもできます。これにより、作成者はコンテンツの表示方法の選択肢が増えます。

レンダリングの独自のバリエーションを作成するには、コンテンツ エディタでバリアントを追加します。

レンダリングバリアントを作成するには:

  1. コンテンツ エディターで、サイトをクリックし、Presentation/Rendering Variantsフォルダーを開きます。このフォルダには、バリアントを許可するすべてのレンダリングが一覧表示されます。

    メモ

    レンダリングをフォルダに追加するには、管理者に問い合わせてください。

  2. バリアントを追加するレンダリングを右クリックし、InsertVariant Definitionの順にクリックします。

    Insert a variant definition
  3. 名前を入力してOKをクリックします。

  4. Variant Detailsセクションで、次のフィールドに情報を指定します。

    • Field used as link target - 対象アイテムのフィールド名を入力します。このクラスは、リスト項目とナビゲーション項目のマークアップ (li HTML要素) に追加されます。このリンクは、Is linkIs prefix link、またはIs suffix linkチェック ボックスがオンになっている場合に、すべてのリンクを上書きするために使用されます。

    • Allowed in templates - バリアントを使用できるページを指定します。関連するページテンプレートをクリックし、右矢印をクリックして選択したアイテムのリストに移動し、Saveをクリックします。テンプレートが選択されていない場合、バリアントはすべてのページで使用できます。

    • Compatible renderings - レンダリングバリアントを他のレンダリングで使用できるようにします。たとえば、ページ コンテンツ レンダリング バリアントの場合、Compatible Renderingsフィールドで タイトル を指定した場合、そのレンダリング バリアントを タイトル レンダリングにも使用できます。

    • Css Class: レンダリング コンテンツ要素にレンダリングするクラスを指定します。例えば:

      <div class="component title customClass col-xs-12">
          <div class="component-content">
      <div class="field-title">S</div>    
      </div>
      </div>
    • Item Css class field: CSSクラスを取得してclass属性にレンダリングする、レンダリングされたアイテムのフィールド名を指定します。ナビゲーションレンダリングでのみサポート

  5. 必要に応じて、Appearanceセクションで、バリアントのサムネイル画像を追加できます。この画像はVariantドロップダウンボックスに表示され、コンテンツ編集者が目的に最適なバリアントを選択するのに役立ちます。

    Content Editor

    Experience Editor

    In the Appearance section add a thumbnail for the variant
    Choose a rendering variant after viewing thumbnails.

    サムネイルのないレンダリング バリアントは、名前のみで表示されます。

    If no thumbnail is specified, the variant displays the name only.
  6. フィールドを表示するには、レンダリング バリアントに子アイテムを追加し、バリアントを右クリックしてInsertをクリックし、関連するアイテムをクリックします。

    これらは、レンダリングバリアントで使用できる子アイテムです。

    • Field - フィールド名とその他のフィールド値を表示します。

    • Date - データと時間をカスタム形式で表示します。日付と時刻をカスタム形式で表示できるようにするには、Dateアイテムを使用する必要があります。このアイテムはFieldアイテムと似ていますが、日付と時刻の形式を選択できる追加のフィールドDate formatがあります。 Fieldアイテムと同様に、Dateアイテムはフォールバック アイテムとして使用でき、独自のフォールバック アイテムを定義できます。

      手記

      フィールドとバリアントの詳細については、次の表で説明します。

    • Edit Frame - 編集モードで使用できるバリアントアイテム。

    • HTML Tag - ユーザーがHTMLの自己終了タグをレンダリングできるようにします。

    • Model - 現在のモデルのプロパティを表示します。SXAレンダリング モデルはSitecore.XA.Foundation.Mvc.Models.RenderingModelBase. Property pathフィールドには、表示するプロパティへのパスを入力できます。

    • Model Iterator - モデルの一覧からプロパティを表示します。

    • Placeholder - ユーザーがレンダリングを追加できるプレースホルダーをレンダリングします。ユーザーがこのプレースホルダー内のレンダリングのコンテキストを切り替えられるようにするには、VariantDetailsセクションに移動し、Switch component context to currently rendered itemチェック ボックスをオンにします。

      Enable switching context for renderings within the placeholder.
    • Reference - 参照されたアイテムのフィールドを表示します。参照されたアイテムのフィールドを表示する場合は、このフィールドをPassThroughFieldで定義できます。このバリアント フィールドは、LinkField (GeneralLink、DropLink)、FileField (ファイル)、ImageField (イメージ)、ReferenceField (Droptree) のフィールドで使用できます。参照アイテムには、子アイテムとして別の参照アイテムを含めることができます。これは、参照アイテムのツリーを作成し、参照アイテムで参照されているアイテムからフィールドを表示する場合に便利です。

    • Responsive Image - デフォルトのサイズと、画像の許容サイズと幅を定義できます。画像をレスポンシブにするということは、ページ上の画像のサイズと画面の解像度に基づいて、ブラウザがその画像の異なるサイズのバージョンを提供することを意味します。 Variant Detailsセクションに入力された値は、srcset属性に結合されます。次のスクリーンショットの値により、次のimgタグが生成されます。

      Variant details will be combined in a srcset attribute.
    <img src="/-/media/Project/Tenant/Site/26056130_2115225655366272_5152181870065454436_n/MyImage.JPEG?w=400&amp;hash=C54AFF8A74289E7B0A776137DFF1D4F89DDEFF93" alt="Simple description of the image" sizes="(max-width: 320px) 280px, (max-width: 480px) 440px, 800px" srcset="/-/media/Project/Tenant/Site/26056130_2115225655366272_5152181870065454436_n/MyImage.JPEG?w=280&amp;hash=DB3A5BEB52094FC6C547F04211070DE715F458D3 280w,/-/media/Project/Tenant/Site/26056130_2115225655366272_5152181870065454436_n/MyImage.JPEG?w=440&amp;hash=247F0C11B22A5339E5913F9C4EC52361D1D2A1F2 440w,/-/media/Project/Tenant/Site/26056130_2115225655366272_5152181870065454436_n/MyImage.JPEG?w=800&amp;hash=D10309E3D24FF417E3194419240075419EF353B8 800w">
    • Query - 現在のコンテキストアイテムに対して実行するクエリを指定できます。これにより、子アイテムをクエリしたり、SXAトークンを使用したりできます。たとえば、レンダリング バリアントを特定のテンプレートの子アイテムにのみ表示する場合などです。クエリはqueryで開始し、標準のSitecoreクエリ構文を使用する必要があります。Sitecoreクエリは、$homeや $siteなどのSXAトークンと組み合わせることができます。

    • Section - グループの作成に使用します。セクションには、Tag (セクションのラッピング要素 ("div" など) やCssClass (ラッピング タグにcssクラスを追加する) などのフィールドが含まれています。セクション項目をネストして、より複雑なバリアント構造を作成できます。

    • Template - ユーザーがHTMLの一部をレンダリングするために使用するテンプレートを定義できるようにします。

    • Text - テキストを表示します。説明などのカスタム文字列をレンダリングするために使用されます。次のフィールドを使用できます: TextTag (テキストを折り返すために追加のタグを定義)、CssClass (タグに追加されるCSSクラス)、IsLink (選択すると、カスタムテキストは現在のアイテムへのハイパーリンクによってさらに折り返されます)。

    • Token - SXAは、トークン $id (アイテムのIDをレンダリング)、$size (添付されたアセットのサイズをフォーマット)、, $name (アイテムの場合は名前をレンダリング)、$FileTypeIcon (ファイル拡張子と等しいCSS分類でスパンをレンダリング) トークンをサポートしています。カスタム パイプラインresolveVariantTokensを使用して、バリアント トークンのセットを拡張できます。

    • Component - コンポーネントを埋め込むことができます。たとえば、ニュース見出しの場合、ブレッドクラムとタグのレンダリングを含むバリアントを作成できます。 Paginationコンポーネントの埋め込みはサポートされていません。

      Rendering itemフィールドで、レンダリングを選択できます。Rendering parametersフィールドで、データソースを選択できます。データソースを空のままにすると、通常はフィールドのレンダリングに使用されるアイテムが、そのデータソースとしてコンポーネントに提供されます。レンダリング パラメータを設定する前に、Renderingアイテムを指定して保存する必要があります。

    • Scriban - HTMLの一部をレンダリングするために使用されるScribanテンプレートをユーザーが定義できるようにします。

    手記

    Scribanアイテムでコンポーネントバリアントを使用する場合、コンポーネントで複合コンポーネントまたはページ区切りコンポーネントを使用することはできません。Scribanテンプレートの下にプレースホルダーがあるコンポーネントは、ページ上で正しくレンダリングされない可能性があるため、使用しないことをお薦めします。

    追加するアイテムに応じて、次のフィールドを設定できます。

    Field

    Variant details

    Tag

    レンダリングされたフィールドコンテンツをラップするために使用されるHTMLタグ。例えば: div 

    空のままにすると、フィールドの内容は折り返されないままになります。

    選択したタグが無効なHTMLマークアップにつながらないようにする必要があります。HTMLマークアップが無効な場合、エクスペリエンス エディターは正しく動作しなくなり、エディターはコンテンツ ページのアイテム フィールドを編集できなくなります。たとえば、<p>タグの両方をレンダリングするネストされたコンポーネントを含むアイテムプレゼンテーションなどです。

    <p>My <p>text</p> which gives trouble</p>

    Field name

    コンテンツのレンダリングに使用されるアイテムのフィールドの名前。

    Prefix

    プレフィックスとして文字列値を追加します。

    Suffix

    文字列値をサフィックスとして追加します。

    Is link

    フィールドの内容を折り返すハイパーリンクを設定するかどうかを選択します。

    Unwrapped – フィールドがリンクで折り返されていない (<a href="" ... /> HTML要素)

    Wrapped – フィールドは常にリンクで折り返されます (<a href="" ... />;HTML要素)

    Wrapped If Not Empty – フィールドが空でない場合にのみ、リンク (<a href="" ... /> HTML要素) で囲まれます。

    Is prefix link

    フィールドの内容を折り返すハイパーリンクを設定するかどうかを選択します。

    Unwrapped – フィールドがリンクで折り返されていない (<a href="" ... /> HTML要素)

    Wrapped – フィールドは常にリンクで囲まれています (<a href="" ... />;HTML要素)

    Wrapped If Not Empty – フィールドが空でない場合にのみ、リンク (<a href="" ... /> HTML要素) で囲まれます。

    Is suffix link

    フィールドの内容を折り返すハイパーリンクを設定するかどうかを選択します。

    Unwrapped – フィールドがリンクで折り返されていない (<a href="" ... /> HTML要素)

    Wrapped – フィールドは常にリンクで囲まれています (<a href="" ... />;HTML要素)

    Wrapped If Not Empty – フィールドが空でない場合にのみ、リンク (<a href="" ... /> HTML要素) で囲まれます。

    Is download link

    ダウンロード属性を持つハイパーリンクを持つ場合に選択します。

    Css class

    タグにCSSクラスを追加します。 Tagフィールドが指定されていない場合、CSS classはレンダリングされません。

    Is editable

    レンダリングされたフィールドを編集する場合に選択します。

    Date format

    日付の形式を決定します。

    Render if empty

    フィールドが空の場合に空の要素をレンダリングする場合に選択します。

    Pass through field

    ネストされた項目のフィールドの名前を定義します。

    Text

    レンダリングするテキスト。

    Template

    コンポーネントバリアントHTMLの一部をレンダリングするScribanテンプレート を定義します。

    Token

    特別なトークンを使用して、特定のフィールド値を書式設定します。サポートされているトークンは次のとおりです。

    $Size: サイズ単位に応じてファイルのサイズを表示します。

    $FileTypeIcon:ファイル拡張子に応じたアイコンを表示します。

    Query

    現在のコンテキスト項目に対して実行されるクエリを決定します。例えば:

    すべての子アイテムを取得するには:

    query:./*

    現在のアイテムの下からPage templateのすべてのアイテムを取得するには:

    query:..//*@@templatename='Page'

    現在のサイトの ホーム アイテム からPage templateのすべてのアイテムを取得するには:

    query:$site/*@@name='Home'//*@@templatename='Page'

    Maximum number of results

    返されるアイテムの数を制限する数値を入力します。

    Property path

    Property pathフィールドには、表示するプロパティへのパスを入力できます。たとえば、Item.Paths.Pathは最初にModelからItemプロパティにアクセスし、次にさらに深く掘り下げてPathsプロパティにアクセスし、次にPath文字列にアクセスします。

    The Property path field
    Item.Paths.Path example

    Data attributes

    レンダリング バリアント アイテムによって生成されたHTML要素にdata属性を追加します。

    Link attributes

    レンダリングバリアントによって生成されたlink要素にlink属性を追加します。

    Buttons

    フレームボタンを編集します。/sitecore/content/Applications/WebEdit/Edit Frame Buttonsに移動して、ボタンを選択します。

    Placeholder Key

    プレースホルダーのレンダリングに使用するプレースホルダーキーを定義します。

    RenderingItem

    レンダリングバリアントレンダラーで使用されるレンダリングを選択します。

    RenderingParameter

    レンダリング バリアント レンダラーのレンダリング パラメータを指定します。

    DefaultSize

    レスポンシブ画像のデフォルトサイズを決定します。レスポンシブ イメージ構文を生成するために使用されます。例えば

    img srcset="photo-author1-320w.jpg 320w,
                photo-author1-480w.jpg 480w,
                photo-author1-800w.jpg 800w"
    sizes="(max-width: 320px) 280px,
            (max-width: 480px) 440px,800px"
    src="photo-author1-800w.jpg" alt="Blog author 1"

    Sizes

    レスポンシブ画像のメディア条件を定義し、選択する最適な画像サイズを示します。レスポンシブ イメージ構文を生成するために使用されます。例えば

    img srcset="photo-author1-320w.jpg 320w,
                photo-author1-480w.jpg 480w,
                photo-author1-800w.jpg 800w"
    sizes="(max-width: 320px) 280px,
            (max-width: 480px) 440px,800px"
    src="photo-author1-800w.jpg" alt="Blog author 1"

    Width

    レスポンシブ画像に使用できる幅を決定します。レスポンシブ イメージ構文を生成するために使用されます。例えば

    img srcset="photo-author1-320w.jpg 320w,
                photo-author1-480w.jpg 480w,
                photo-author1-800w.jpg 800w"
    sizes="(max-width: 320px) 280px,
            (max-width: 480px) 440px,800px"
    src="photo-author1-800w.jpg" alt="Blog author 1"
この記事を改善するための提案がある場合は、 お知らせください!