カスタムチャイルドビューの作業
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore XC、カタログや販売可能なアイテムエンティティなど、Commerce entityに関連付けられたプロパティを拡張したいときに、Business Toolsユーザーインターフェースのページにセクションを追加できるカスタム子ビューを作成できます。
カスタムプロパティをSitecore Content Editorやストアフロントレンダリングで利用可能にし、カスタムの子ビューをComposerテンプレートに変換できます。
!注Sitecore XC Business Toolsでは、すでに公開されているCommerceエンティティに変更することはできません。Commerceエンティティビューをカスタマイズしたい場合は、新しい エンティティバージョンを作成し、そのバージョンで関連する変更を加える必要があります。
!注カスタムカタログプロパティ(sitecore_web_indexやsitecore_master_indexを含む)を検索インデックスに追加すれば、検索時に検索可能になるSitecore。
コマースエンティティに子ビューを追加する
任意のCommerceエンティティに子ビューを追加してカスタムプロパティを作成できます。
以下は、サンプルHabitat_Masterカタログのプロパティを拡張するために使われた「カスタムチャイルドビュー」という子表示の例を示しています。この例では、子表示はカスタムプロパティCustom View Propertyを定義し表示しています。
!注カスタム子ビューを作成すると、それはBusiness Toolsでのみ表示されます。Sitecore Content Editorでは、追加 またはComposerテンプレートに 変換 しない限り表示されません。

例えば、カタログエンティティにカスタムプロパティを追加する子ビューを追加するには:
- マーチャンダイジングダッシュボードを開きます。
- カタログセクションでカタログをクリックしてください。
- カタログ 詳細 ページの サマリー セクションのドロップダウンメニューで「 View 追加」をクリックします。
- 「 View 追加 」ダイアログボックスで、子ビューの内部名と表示名を入力します。
- カタログ 詳細 ページで、新しい子表示のドロップダウンメニューを開き、「 プロパティを追加」をクリックします。
- 「 プロパティを追加 」ダイアログボックスで、新しいプロパティの内部名と表示名を入力します。その後、ドロップダウンメニューで以下のいずれかのデータ型をクリックします。
- ストリング
- DateTimeOffSet
- 小数点
- 整数
- ブール
- リッチテキスト
- 新しいプロパティのデータ型に応じて、許可された値に制約を設定することも可能です。
- 整数または小数型のプロパティに対する最大最小制約を設定するには、ドロップダウンメニューで「最小最大制約を追加」をクリックします。
- 文字列型のプロパティの許可値を指定する には、ドロップダウンメニューで「 選択オプション制約を追加」をクリックします。
既存の子ビューをComposerテンプレートに変換する
カスタムエンティティプロパティを定義するためにCommerceエンティティに子ビューを追加した後、そのカスタム子ビューをComposerテンプレートに変換し、定義したプロパティを他のCommerceエンティティでも利用できるようにします。
既存のカスタム子ビューをComposerテンプレートに変換するには:
- Business ToolsのCommerce項目 詳細 ページ、カスタム子表示セクションのドロップダウンメニューで「 テンプレート作成 」をクリックします。
- 「 テンプレート作成 」ダイアログボックスで、Composerテンプレートの内部名と表示名を指定します。
- 左側のナビゲーションペインで、Composerダッシュボードを開くには 「Composer」をクリックしてください。
- 新しいComposerテンプレートが テンプレート セクションに掲載されているか確認してください。
作曲家テンプレートを作成する
Composerダッシュボードから直接Composerテンプレートを作成できます。
新しいComposerテンプレートを作成するには:
- 左側のナビゲーションペインで、Composerダッシュボードを開くには 「Composer」をクリックしてください。
- テンプレートセクションのドロップダウンメニューで「テンプレート作成」をクリックします。
- 「 Create Template diablo」ボックスで、以下のフィールドを指定します:
- 名前 - Composerテンプレートの内部名
- 表示名 - Composer ダッシュボード上のComposerテンプレートの外部名
- View Name - カスタム子ビューの内部名
- 表示表示 表示 名前 - Commerce アイテム 詳細 ページ上の子表示の外部名
- Composerダッシュボードのテンプレートセクションで、テンプレートセクションの新しいComposerテンプレートをクリックしてください。
- Composerテンプレート の詳細 ページで、1つ以上のカスタムプロパティを追加してください。
Composerテンプレートから子表示を追加する
既存のComposerテンプレートからCommerceエンティティに子ビューを追加できます。Commerceエンティティメニューから子ビューを追加すると、元のComposerテンプレートに影響を与えずに子ビューに変更できます。
Composerテンプレートからカスタム子表示を追加するには:
- 商取引項目の詳細ページ、****まとめセクションのドロップダウンメニューで「テンプレートからビューを追加」をクリックします。
- 「 テンプレートからView 追加 」ダイアログボックスで、ドロップダウンリストの「Composer template」をクリックします。
複数のCommerceエンティティタイプにComposerテンプレートを適用してください
Composerテンプレートは、異なる細かなレベルで複数のCommerceエンティティタイプに適用できます。例えば、特定のタイプのすべてのCommerceエンティティにカスタムの子ビューを適用できます。
!注ComposerダッシュボードのComposerテンプレートから子ビューを追加すると、Commerceエンティティ内の子ビューからプロパティを追加または削除することはできません。テンプレート自体に変更を加えなければならず、その変更は子ビューを引き継ぐすべてのCommerceエンティティに適用されます。
特定のタイプのすべてのコマースエンティティにカスタム子ビューを適用するには:
-
Composerダッシュボードのテンプレートセクションで、適用したいComposerテンプレートをクリックしてください。
-
作曲家テンプレート の詳細 ページで、リンクアイコンをクリックしてください。
-
「 エンティティへのリンク 」ダイアログボックスで、カスタム子ビューを継承したいすべてのエンティティタイプを選択します。

!注Composerテンプレートが以下のいずれかのエンティティタイプにリンクされている場合、Sitecoreコンテンツエディタはそのエンティティタイプのすべてのコンテンツ項目に対してComposerテンプレートのビューで定義されたカスタムプロパティを表示します。
-
Sitecore。Commerce.Plugin.Catalog.SellableItem
-
Sitecore。Commerce.Plugin.Catalog.category
-
Sitecore。Commerce.Plugin.Catalog.catalog
Composerテンプレートは1つのカタログエンティティタイプ(カタログ*、カテゴリ、**または販売*可能なアイテムのいずれか)にしかリンクできません。これらのエンティティの組み合わせにComposerテンプレートをリンクすることはできません。異なるカタログエンティティタイプごとに異なるComposerテンプレートを作成する必要があります。
-
特定の販売可能なアイテムの一部に作曲家テンプレートを適用してください
カスタムComposerテンプレートを、タグやアイテム定義が一致する販売可能なアイテムのサブセットに適用できます。
!注カスタムプロパティをSitecoreコンテンツエディターから表示したり、ストアフロントでカスタムプロパティをレンダリングしたりするには、アイテム定義を使って販売可能なアイテムのサブセットにComposerテンプレートを適用する必要があります。
タグを使って販売可能なアイテムに適用されるComposerテンプレートのカスタムプロパティはSitecore Content Editorには表示されず、ストアフロントでレンダリングすることはできません。
販売可能なアイテムのサブセットにカスタム子表示を適用するには:
-
Composerダッシュボードのテンプレートセクションで、適用したいComposerテンプレートをクリックしてください。
-
タグが一致する販売可能な商品にテンプレートを適用するには、詳細 ページでタグアイコンをクリックしてください。
!注タグの代わりにアイテム定義を使って、テンプレートをマッチングする販売可能なアイテムに適用するには、ステップ4に進みましょう。
-
「 タグ管理 」ダイアログボックスで、Composerテンプレートに関連付けたいタグを入力してください。
!注タグ文字列は完全に一致しなければなりません。タグが一致するすべての販売可能なアイテムは、カスタム子ビューとそのプロパティを引き継ぎます。
-
または、アイテム定義を使うには、作曲家テンプレート の詳細 ページで + アイコンをクリックしてください。
-
有効な品目定義のリストを表示するには、「 アイテム定義へのアソシエイト 」ダイアログボックスのドロップダウンリストで、カタログをクリックしてください。 そのカタログで定義された品目定義 が表示されます。
-
Composerテンプレートに関連付けられたいすべてのアイテム定義を確認してください。同じアイテム定義を持つカタログ内の販売可能なアイテムはカスタム子ビューを引き継ぎます。
!注もしComposerテンプレートがカタログエンティティタイプ(カタログ、カテゴリ、または販売可能なアイテム)のカスタムプロパティを定義している場合、Commerce Dataテンプレートをコンテンツ エディターでカスタム子表示に更新する必要があります。
Commerceエンティティから子ビューを削除する
エンティティ詳細ページから直接子ビューを追加した場合(またはCommerceエンティティのComposerテンプレートをスタート地点として選択した場合)、Commerceエンティティ自体から子ビューを削除できます。
!注まずComposerテンプレートでカスタムプロパティを定義し、その後ComposerダッシュボードからCommerceエンティティにComposerテンプレートを適用した場合、Composerテンプレート内でCommerceエンティティへの関連付けを削除しなければなりません。
例えば、Commerceエンティティから販売可能なアイテムから子ビューを削除するには:
-
Business ToolsでMerchandisingダッシュボードを開きます。
-
カタログセクションで、販売可能な商品を含むカタログ(該当する場合はカテゴリ)をクリックしてください。
-
販売可能なアイテムセクションで、販売可能なアイテムをクリックします。
-
販売可能なアイテム詳細ページ、削除したい子ビューがあるセクションのドロップダウンメニューで 「ビューを削除」をクリックします。
!注削除したカスタムプロパティがComposerテンプレートを使ってCommerceエンティティに割り当てられていた場合、ビューを削除した後にCommerce Cacheを更新 する必要があります。
Composerテンプレートから子ビューを削除する
Composerダッシュボードを使ってComposerテンプレートに子ビューを追加すれば、テンプレートと特定のCommerceエンティティとの関連付けを解除できます。あるいは、Composerテンプレートが定義したカスタムプロパティをすべてのCommerceエンティティタイプで使う必要がなくなった場合は、テンプレート自体を削除することもできます。
!注もし子ビューをアイテム定義やタグで割り当てた場合、個別のアイテム定義やタグを削除することもできます。
Composerテンプレートから子ビューを削除するには:
-
Business ToolsでComposerダッシュボードを開きます。
-
テンプレートセクションで、削除したいプロパティを定義したComposerテンプレートの表示名をクリックします。
!注関連するすべてのCommerceエンティティからComposerテンプレートを削除するには、ドロップダウンメニューの「Remove」をクリックします。
-
特定のCommerceエンティティタイプとの関連付けを解除するには、ドロップダウンメニューをクリックし、「 エンティティへのリンク」をクリックしてください。
-
「 エンティティへのリンク 」ダイアログボックスで、Composerテンプレートから解除したいCommerceエンティティをクリアし、変更を保存するためにチェックマークをクリックします。
-
関連するエンティティを削除した後、Sitecoreから コマースデータテンプレートを削除 し、その後コ マースデータテンプレートを更新 してデフォルトのコマースデータテンプレートを再適用してください。
Commerceデータテンプレートの更新
Composerテンプレートを作成して、Commerceエンティティのカタログ、カテゴリ、販売可能なアイテムなどのカスタムプロパティを定義する際は、コンテンツエディターでデータテンプレートを更新し、新しいプロパティがSitecoreでそのコンテンツアイテムタイプを表示できるようにする必要があります。
!注
Composerテンプレートを変更するたびに、Sitecoreで変更を伝播させるためにコンテンツエディターでデータテンプレートを更新する必要があります。
エンティティ内で直接Composer Templateのプロパティを変更する場合、Content Editorでその変更を見るためには、Content EditorでCommerce Cacheをリフレッシュ する必要があります。
コンテンツエディタのComposerテンプレートで定義されたカスタムプロパティ(子ビューから)を表示するには:
-
Sitecore Launchpadで「Content Editor」をクリックしてください
-
コンテンツエディターのリボンで 「コマース」をクリックします。
-
「 データテンプレートを更新」をクリックします。
アップデートが完了すると、テンプレートの影響を受けたコンテンツ項目にカスタムプロパティが表示されます。
商務データテンプレートの更新に関する考慮事項
コマースデータテンプレートの更新中、テンプレート生成プロセスは適切なタイプの既存のコマースエンティティ(例
、カテゴリ、販売可能なアイテム)をテンプレート構築の基準としてランダムに選びます。ベースとして使われる特定のエンティティに子ビューが含まれている場合、予期しない子ビューが生成されたテンプレートの一部になる可能性があります。この場合、Sitecore Content Editorのエンティティタイプの生成テンプレートフォルダで予期しない子ビューを確認できます。カタログエンティティ(カタログ、カテゴリ、販売可能なアイテム)の生成テンプレートに不要なビューが含まれないように、デフォルトのテンプレートジェネレーター設定( /App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.TemplateGenerator.configファイル内の)を変更し、そのエンティティタイプのデータテンプレートを生成する際の基準として使うエンティティIDを指定することができます。
以下はデフォルトのテンプレートジェネレーター構成の一例です:
!注空の値はテンプレート生成プロセスがランダムにエンティティを選択することを意味します。デフォルトの動作を上書きするには、そのエンティティの望むベーステンプレートを使用するエンティティIDを指定します。
Commerceのデータテンプレートを削除してください
Sitecore Content Editorを使ってCommerceのデータテンプレートを削除します。Commerceアイテムからプロパティを削除する必要があるときに、Commerceデータテンプレートを削除します。
商務データテンプレートを削除するには:
-
Sitecore Launchpadで「Content Editor」をクリックしてください。
-
コンテンツエディターのリボンにある「 Commerce 」タブをクリックします。
-
「 データテンプレートを削除」をクリックします。
データテンプレートを削除した後、再度更新 して有効なCommerceテンプレートをCommerceコンテンツ項目に再適用できます。
カスタムプロパティの価値を編集する
子表示ではカスタムプロパティの値を設定または変更できます。
カスタムプロパティの値を編集するには:
-
Business Toolsで該当するエンティティビューに移動し、編集するカスタムプロパティを含む子ビューのドロップダウンメニューで「 ビュー編集」をクリックします。
-
「 編集表示 」ダイアログボックスで、プロパティを必要な値に設定します:
-
DateTimeプロパティタイプを設定するには、Datepickerを使ってください。
-
DecimalProperty型を設定するには、十進形式で値を入力します。
-
整数プロパティ型を設定するには、整数値を入力します。
-
ブール属性型の値をtrueに設定するには、Booleanを選択します。falseに設定するには、チェックボックスを空のままにしてください。
-
リッチテキストの値を設定するには、リッチテキストエディターを使います。
!重要リッチテキストエディターで、保存する前にソースオプション(HTMLビュー)を無効にしてください。リッチテキスト設定をソースビューを有効にした状態で保存すると(ソースボタンがグレーアウト)、設定変更は保存されません。
!注フォントの色や段落の書式設定など、一部の書式設定はリッチテキストエディタのウィンドウでのみ表示され、Business Toolsビューに戻っても表示されません。すべての書式情報は保持され、Business Toolsビューで見えるかどうかにかかわらずContent Editorに渡されます。
-
-
変更を保存するにはチェックマークをクリックしてください。