Sitecore SXA — Multi-Root TreeList — Запрос к источнику данных

В нашем проекте Sitecore SXA 1.9 у нас есть шаблон с полем Multi-Root Treelist.

Это поле имеет следующий запрос:

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

В результате поле заполняется следующим образом:

Multi-Root Treelist, заполненный запросом

Можно ли отображать фактические названия веб-сайтов вместо «(Текущий сайт)»?


person Randy Wink    schedule 18.11.2020    source источник


Ответы (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
};
person Jean-Nicolas G.    schedule 12.02.2021