Подтвердить что ты не робот

Обозначение запроса для поля "источник" sitecore в построителе шаблонов

Я пытаюсь установить исходное поле шаблона, используя нотацию запроса (или xpath - в зависимости от того, что работает), но ни один из них не работает.

Мое дерево контента - это многоузловое дерево контента:

France
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions

US
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions

У каждого сайта есть своя папка METADATA, и я хочу, чтобы при добавлении страницы внутри каждого из основных узлов страны я хотел, чтобы значения отражали все, что находится в METADATA этого сайта. На данный момент у меня есть два разных поля - дроплинк и поле treelistex. Поэтому я думал, что могу просто получить родительский элемент, который является сайтом страны, и получить для него папку метаданных. Когда я помещаю следующий запрос в оба поля, я получаю разные результаты:

 query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
  • Для поля droplink я получаю только первый регион (один элемент)
  • В поле treelistex я получаю все дерево данных

Затем я попытался немного изменить запрос и взял нотацию 'query'

 ./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*

Если я перехожу к разработчику/строителю xpath и задаю контекст node любому элементу под основным сайтом страны, он возвращает мне именно то, что мне нужно, но когда я помещаю это в источник, я получаю всего дерева данных в обоих случаях.

Help!

4b9b3361

Ответ 1

Что вы здесь должны работать с полем Droplink. Возможно, вы имеете в виду Дроптри?

query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*

Что касается TreelistEx, я не думаю, что поля Treelist по умолчанию поддерживают запрос Sitecore. Тем не менее, в этой статье описано, как создать пользовательский TreeList, который его поддерживает.

Ответ 2

Поля, поддерживающие запрос Sitecore

Где вы можете использовать синтаксис query: или fast: (для FastQuery):

  • выпадающий список
  • Группированный дроссель
  • DropLink
  • Группировка Droplink
  • Контрольный список
  • Multilist
  • Droptree

Поля, поддерживающие параметризованный источник данных

Где вы можете использовать расширенный синтаксис с параметризированным источником данных query:

  • Droptree & dagger;
  • TreeList
  • TreelistEx

& крестик; Droptree поддерживает только параметры Datasource и DatabaseName.

Синтаксис расширенной строки запроса включает следующие параметры:

  • Datasource
  • имя_базы_данных
  • AllowMultipleSelection
  • IncludeItemsForDisplay
  • ExcludeItemsForDisplay
  • IncludeTemplatesForSelection
  • ExcludeTemplatesForSelection
  • IncludeTemplatesForDisplay
  • ExcludeTemplatesForDisplay

Они используются следующим образом: Datasource=/sitecore/content/home/Products/&IncludeTemplatesForDisplay=Product Category&ExcludeTemplatesForSelection=Product Description&IncludeTemplatesForSelection=Product Category

У Марка Урсино есть отличная статья о том, как использовать этот вид синтаксиса здесь.