【发布时间】:2020-11-18 08:41:53
【问题描述】:
在我们的 Sitecore SXA 1.9 项目中,我们有一个带有多根树列表字段的模板。
该字段有以下查询:
query:/sitecore/content/Event Sites//*[@@name='Home']
因此,该字段填充为:
是否可以显示实际的网站名称而不是“(当前站点)”?
【问题讨论】:
标签: templates sitecore sitecore-sxa
在我们的 Sitecore SXA 1.9 项目中,我们有一个带有多根树列表字段的模板。
该字段有以下查询:
query:/sitecore/content/Event Sites//*[@@name='Home']
因此,该字段填充为:
是否可以显示实际的网站名称而不是“(当前站点)”?
【问题讨论】:
标签: templates sitecore sitecore-sxa
如果您将此代码 (https://gist.github.com/kamsar/33d1245ffdb630b1f126) 用于多根树列表,那么您应该能够通过扩展 MultiRootTreeView 创建自定义 MultiRootTreeView 并使用它来代替默认的 Sitecore.Web.UI.WebControls。 MultiRootTreeview()
在此处创建自定义树视图(根据您的需要进行调整)
using Sitecore.Data.Items;
using Sitecore.Diagnostics;
using Sitecore.Web.UI.WebControls;
namespace Sitecore.Foundation.SitecoreExtensions.FieldTypes
{
public class EnhancedMultiRootTreeview : MultiRootTreeview
{
protected override string GetHeaderValue(Item item)
{
Assert.ArgumentNotNull(item, "item");
var nodeTitle = string.IsNullOrEmpty(DisplayFieldName) ? item.DisplayName : item[DisplayFieldName];
return $"{nodeTitle} - <span>({item.Paths.ContentPath})</span>";
}
}
}
在此处使用您的自定义 MultiRootTreeview(在您的 MultiRootTreeList 实现中)
var impostor = new EnhancedMultiRootTreeview
{
ID = existingTreeView.ID,
DblClick = existingTreeView.DblClick,
Enabled = existingTreeView.Enabled,
DisplayFieldName = existingTreeView.DisplayFieldName
};
【讨论】: