1

マルチリストをコンテンツエディタで制御できるようにするにはどうすればよいですか?たとえば、item1からitem10までのアイテムのリストがあります。標準のテンプレート値で、item1、2、3を定義しました。ソリューションを展開した後、コンテンツエディターモードまたはページエディターモードのユーザーがitem7、8、9、および10を選択できるようにするにはどうすればよいですか?

また、マルチリストをテスト/レンダリングした後、RAW VALUESのみがレンダリングされていますが、item1などのアイテム名をレンダリングすることはできますか?マルチリストをカスタマイズする必要がありますか?

4

1 に答える 1

5

マルチリストコントロールは、コンテンツエディタでユーザーに直接表示される必要があります。他に何もする必要はありません。一部のアイテムを標準値で定義したため、そのアイテムが最初に作成されたときにそれらは「事前選択」されます。その後、ユーザーは必要に応じてアイテムを追加できます。

ユーザーがページエディターから値を選択できるようにするには、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();
于 2013-02-04T16:09:31.460 に答える