Нотация запроса для поля 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

Марк Урсино имеет большой пост о том, как использовать такой синтаксис здесь.