Нотация запроса для поля sitecore 'source' в построителе шаблонов
Я пытаюсь установить исходное поле шаблона, используя нотацию запроса (или xpath - в зависимости от того, что работает), но ни один из них не работает.
мое дерево контента-это многоузловое дерево контента:
France
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions
US
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions
каждый сайт имеет свою собственную папку метаданных, и я хочу, чтобы при добавлении страницы внутри каждого из основных узлов страны я хотел, чтобы значения отражали все, что находится в метаданных этого сайта. На данный момент у меня есть два разных поля - droplink и a поле treelistex. Поэтому я подумал, что могу просто получить родительский элемент, который является сайтом страны, и получить папку метаданных для этого. Когда я помещаю следующий запрос в оба поля, я получаю разные результаты:
query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
- для поля droplink я получаю только первую область (один элемент)
- для поля treelistex я получаю все дерево контента
затем я попытался немного изменить запрос и взял обозначение " запрос вон!--4-->
./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
Если я иду в developer center / xpath builder и устанавливаю контекстный узел на любой элемент под основным сайтом страны, он возвращает мне именно то, что мне нужно, но когда я помещаю это в источник, я получаю все дерево контента в обоих случаях.
помогите!
2 ответов
то, что у вас здесь, должно работать с полем Droplink. Возможно, вы имеете в виду Droptree?
query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
Что касается TreelistEx, я не думаю, что поля Treelist по умолчанию поддерживают запрос Sitecore. Однако,в этой статье описывает, как создать пользовательский список деревьев, который поддерживает его.
поля, которые поддерживают запрос Sitecore
где вы можете использовать синтаксис query:
или fast:
(для FastQuery):
- раскрывающегося списка
- Сгруппированный Droplist
- DropLink
- Сгруппированные Droplink
- перечень
- Multilist
- Droptree
поля, поддерживающие параметризованный источник данных
где вы можете использовать расширенный синтаксис с Параметризованным источник запрос:
- Droptree †
- древовидного списка
- TreelistEx
† Droptree поддерживает только Datasource
и DatabaseName
параметры.
расширенный синтаксис строки запроса включает в себя следующие параметры:
- источник
- Имя_базы_данных
- AllowMultipleSelection
- IncludeItemsForDisplay
- ExcludeItemsForDisplay
- IncludeTemplatesForSelection
- ExcludeTemplatesForSelection
- IncludeTemplatesForDisplay
- ExcludeTemplatesForDisplay
они используются следующим образом:Datasource=/sitecore/content/home/Products/&IncludeTemplatesForDisplay=Product Category&ExcludeTemplatesForSelection=Product Description&IncludeTemplatesForSelection=Product Category
Марк Урсино имеет большой пост о том, как использовать такой синтаксис здесь.