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

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

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

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

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

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

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

    メモ

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

  2. バリアントを追加するレンダリングを右クリックし、InsertVariant 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: レンダリング バリアントを他のレンダリングで使用できるようにします。たとえば、ページ コンテンツ レンダリング バリアントの場合、互換性のあるレンダリング フィールドで タイトル を指定した場合、そのレンダリング バリアントを タイトル レンダリングにも使用できます。

    • 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セクションで、バリアントのサムネイル画像を追加できます。この画像はバリアントドロップダウンボックスに表示され、コンテンツ編集者が目的に最適なバリアントを選択するのに役立ちます。

    Content Editor

    Experience Editor

    SXA-rendering-variant-preview

    手記

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

  6. 表示されるフィールドを定義するには、レンダリング バリアントに子アイテムを追加し、バリアントを右クリックしてInsert,をクリックし、関連するアイテムをクリックします。

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

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

      手記

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

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

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

    • HTML Tag: HTMLの自己終了タグをレンダリングできます。

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

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

    • Reference: 参照されたアイテムのフィールドを表示します。参照されたアイテムのフィールドを表示する場合は、このフィールドをPassThroughFieldで定義できます。このバリアント フィールドは、LinkField (GeneralLink、DropLink)、FileField (File)、ImageField (Image)、およびReferenceField (Droptree) のフィールドで使用できます。参照アイテムには、子アイテムとして別の参照アイテムを含めることができます。これは、参照アイテムのツリーを作成し、参照アイテムで参照されているアイテムからフィールドを表示する場合に便利です。

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

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

    • Template: HTMLの一部をレンダリングするために使用されるNVelocityテンプレートをユーザーが定義できるようにします。getVelocityTemplateRenderersパイプラインを使用して、後でNVelocityテンプレートで使用できるカスタム レンダラーを追加できます。

      手記

      NVelocityは .ネットベースのテンプレートエンジン。これにより、開発者はシンプルでありながら強力なテンプレート言語を使用して、.Netコードで定義されたオブジェクトを参照できます。

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

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

    • Query: 現在のコンテキストアイテムで実行されるクエリを指定できます。これにより、子アイテムをクエリしたり、SXAトークンを使用したりできます。たとえば、レンダリング バリアントを特定のテンプレートの子アイテムにのみ表示する場合などです。クエリはqueryで開始し、標準のSitecoreクエリ構文を使用する必要があります。Sitecoreクエリは、$homeや $siteなどのSXAトークンと組み合わせることができます。

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

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

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

    Field

    Variant details

    タグ

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

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

    フィールド名

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

    接頭辞

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

    接尾辞

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

    リンクです

    フィールドの内容を折り返すハイパーリンクを持つ場合に選択します。

    プレフィックス リンクです

    フィールド コンテンツに使用するのと同じリンクでプレフィックスを折り返す場合に選択します。

    サフィックスリンクです

    サフィックスをハイパーリンクで囲む場合に選択します。

    ダウンロードリンクです

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

    Cssクラス

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

    編集可能

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

    日付形式

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

    空の場合はレンダリング

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

    パススルーフィールド

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

    テキスト

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

    テンプレート

    コンポーネント バリアントHTMLの一部をレンダリングするNVelocityテンプレートを定義します。次のオブジェクトを使用できます。

    $item: 現在のアイテムへのアクセス ($item.Nameには現在のアイテム名が表示されます)。

    $dateTool.Format(date, format): 日付と時刻の値を書式設定します。

    $numberTool.Format(number, format): 数値をフォーマットします。

    $geospatial:地理空間検索の場合($geospatial.Distance)は、関心のある特定のポイントまでの距離を表示します)。

    トークン

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

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

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

    クエリ

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

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

    query:./*

    現在のアイテムの下からページテンプレートのすべてのアイテムを取得するには:

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

    現在のサイトのホームアイテムの下からページテンプレートのすべてのアイテムを取得するには:

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

    結果の最大数

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

    プロパティパス

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

    データ属性

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

    リンク属性

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

    ボタン

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

    プレースホルダーキー

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

    レンダリングアイテム

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

    レンダリングパラメータ

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

    デフォルトサイズ

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

    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"

    サイズ

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

    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"

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

    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"
この記事を改善するための提案がある場合は、 お知らせください!