マルチリストコントロールは、コンテンツエディタでユーザーに直接表示される必要があります。他に何もする必要はありません。一部のアイテムを標準値で定義したため、そのアイテムが最初に作成されたときにそれらは「事前選択」されます。その後、ユーザーは必要に応じてアイテムを追加できます。
ユーザーがページエディターから値を選択できるようにするには、PageEditでSitecoreEditFrameを使用できます
アイテムが生の値としてレンダリングされる理由は、アイテムを取得してからターゲットIDを反復処理する必要があるためです。ここにこの例があります
//Get a multilist field from the current item
Sitecore.Data.Fields.MultilistField multilistField = Sitecore.Context.Item.Fields["myMultilistField"];
if (multilistField != null)
{
//Iterate over all the selected items by using the property TargetIDs
foreach (ID id in multilistField.TargetIDs)
{
Item targetItem = Sitecore.Context.Database.Items[id];
litItemTitle = targetItem.DisplayName;
// Do something with the target items
// ...
}
}
リピーターのデータソースの代わりに以下を使用できます
Sitecore.Data.Fields.MultilistField multilistField = Sitecore.Context.Item.Fields["myMultilistField"];
Sitecore.Data.Items.Item[] items = multilistField.GetItems();