Sitecore SelectItems по унаследованному шаблону - PullRequest
6 голосов
/ 28 марта 2011

Я пытаюсь привязать выпадающий список asp: к некоторым элементам ядра сайта на основе запроса. С помощью запроса я хочу вернуть элементы, которые наследуют шаблон «Корень сайта».

Когда я использую:

Sitecore.Context.Database.SelectItems("/sitecore/content/*[@@templatename='Site Root']");

Возвращаются только элементы, имеющие шаблон «Корень сайта», а не шаблоны, которые наследуют этот шаблон.

Как получить запрос на возврат элементов, которые наследуют этот шаблон?

Ответы [ 2 ]

7 голосов
/ 19 марта 2014

Вот запрос, который возвращает все шаблоны, наследующие определенный шаблон.Но будьте осторожны, поскольку он не будет работать очень хорошо.

/sitecore/templates//*[contains(@__Base template, '<MY TEMPLATE ID>')]

Если производительность имеет значение, вам, вероятно, будет лучше использовать Sitecore ContentSearch для запроса шаблонов.Для того, что нужно сначала активировать, есть вычисляемое поле __template.Подробнее см. Sitecore-7-Enable-Default-Computed-Index-Fields .

6 голосов
/ 28 марта 2011

Вы не можете запросить унаследованный шаблон

...