Обозначение запроса для поля "источник" 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!
Ответы
Ответ 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
У Марка Урсино есть отличная статья о том, как использовать этот вид синтаксиса здесь.