Sitecore TreelistEx用作多链接布局的UI

Sitecore TreelistEx用作多链接布局的UI,sitecore,Sitecore,我需要提供一个内容编辑器界面,允许编辑选择特定的页面,以便生成网站访问者的链接列表 treelist/TreeListX似乎提供了预期的接口,我将其与源路径结合起来,将编辑器锁定到起始目标,而不是整个sitecore树。选择treelist EX,因为这似乎是最有效的方法,因为除非调用它,否则它不会每次都完整呈现树 然而,就输出而言,我得到了一个管道分隔的guid列表——这是我需要使用linkmanager或类似工具手动迭代的东西,以获得项目标题及其sitecore链接吗?或者,是否存在一个现有

我需要提供一个内容编辑器界面,允许编辑选择特定的页面,以便生成网站访问者的链接列表

treelist/TreeListX似乎提供了预期的接口,我将其与源路径结合起来,将编辑器锁定到起始目标,而不是整个sitecore树。选择treelist EX,因为这似乎是最有效的方法,因为除非调用它,否则它不会每次都完整呈现树

然而,就输出而言,我得到了一个管道分隔的guid列表——这是我需要使用linkmanager或类似工具手动迭代的东西,以获得项目标题及其sitecore链接吗?或者,是否存在一个现有流程来管理这样一个多列表并将其分解为组件

如果有人能提供一个代码的例子,以及如何画出标题和URL,那就太好了


谢谢

没有内置的解决方案可以从
Treelist
中选择的项目中获取标题和url

您可以将
Treelist
字段视为
Multilist
字段(它们都只在后台存储管道分隔ID的列表),并使用
GetItems()
方法:

Sitecore.Data.Fields.MultilistField treelistField=Sitecore.Context.Item.Fields[“myTreelistFieldName”];
Item[]selectedItems=treelistField.GetItems();
foreach(selectedItems中的项目)
{
字符串itemName=item.Name;
string displayName=item.displayName;//如果未设置,则返回到Name
string title=item[“title”];//假设有一个名为title的字段
字符串url=LinkManager.GetItemUrl(项目);
}

Hi Marek谢谢您的快速回复。我对Sitecore相当陌生,所以如果这是一个基本查询,请原谅我,但一旦使用GetItems,我将如何迭代每个项目并获取其值?再次感谢您的进一步解释:遗憾的是,我使用上面的代码得到了一个异常错误,我相信这是由于getItems行引起的。我已经用支票把它包好了!null,它似乎点击了该检查,并认为它是null,但写出了项。字段[“链接位置”]。值确实生成了一个输出。这些都是内容,但它似乎认为该项是null。我是否应该指向Sitecore.Data.Fields.MultilistField treelistField=Sitecore.Context.Item.Fields[“链接位置”]。值?您的页面模板上是否有字段<代码>链接位置?还是在组件的数据源上?如果是后者,则需要首先获取数据源项,然后使用
datasourceItem.Fields[“Link Location”]
。您肯定不想将
.Value
转换为
字段
。您好,该字段位于子布局数据源的模板上-感谢您的建议,我将修改我的code.HI,以便首先获得数据源,例如:var datasourceItem=Sitecore.Context.Database.GetItem(this.datasource);Sitecore.Data.Fields.MultilistField treelistField=datasourceItem.Fields[“链接位置”];