【问题标题】:Sitecore SXA - Multi-Root TreeList - Data Source QuerySitecore SXA - 多根树列表 - 数据源查询
【发布时间】:2020-11-18 08:41:53
【问题描述】:

在我们的 Sitecore SXA 1.9 项目中,我们有一个带有多根树列表字段的模板。

该字段有以下查询:

query:/sitecore/content/Event Sites//*[@@name='Home']

因此,该字段填充为:

是否可以显示实际的网站名称而不是“(当前站点)”?

【问题讨论】:

    标签: templates sitecore sitecore-sxa


    【解决方案1】:

    如果您将此代码 (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
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多