2014-12-05 2 views
0

У меня есть поле TreeList, что я хочу, чтобы установить источник данных для 3 папки p.e .:Sitecore 7 мульти поля DataSource

/sitecore/Website/News/ 
/sitecore/Website/Events/ 
/sitecore/Website/Articles/ 

Под пунктом сайта есть более «папка».

Я искал и провел несколько часов, пытаясь использовать разные подходы, но ни один из них не работал.

Возможно ли это? Нужно ли расширять поле?

Спасибо заранее

ответ

2

Вы можете использовать IncludeTemplatesForDisplay параметр для фильтрации элементов на основе шаблонов:

DataSource=/Sitecore/Content/Home&IncludeTemplatesForDisplay=News Folder,News,Event Folder,Event 

IncludeTemplatesForDisplay параметр принимает разделены запятыми имен шаблонов, возможно, потребуется включить родителей имена шаблонов папок тоже, чтобы они появлялись в treelist.

Надеется, что это помогает

+2

Я бы добавил, что есть также 'ExcludeTemplatesForDisplay',' IncludeTemplatesForSelection', 'ExcludeTemplatesForSelection',' IncludeItemsForDisplay' и 'ExcludeItemsForDisplay', все из которых описаны и продемонстрированы с примером в моем [сообщение в блоге] (http://zacharykniebel.com/blog/sitecore/2014/june/26/constraining-the-sitecore-7-multilist-and-treelist-fields-with-and-without-search). Однако на самом деле это не то, о чем он просил. –

+0

@ ZacharyKniebel Отличный блог! много полезной информации в одном месте +1 –

+0

Спасибо, надеюсь, это поможет! :) –

5

Некоторого времени назад я написал blog post о различных способах, которыми Вы можете контролировать Datasource вашего multilist и TreeList полей (с и без поиска). Третий метод включен в список полей с поиска является то, что я думаю, что вы ищете:

Поиск в двух или более местах дерева содержимого (полей с поиска):

StartSearchLocation={110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}&Filter=_path:110d559fdea542ea9c1c8a5df7e70ef9|_path:3d6658d8a0bf4e75b3e2d050fabcf4e1 


Для вашего реализация:

StartSearchLocation={Website.ID}&Filter=_path:[News.ID (guid form; no brackets)]|_path:[Events.ID (guid form; no brackets)]|_path:[Articles.ID (guid form; no brackets)] 


Поиск в двух или более местах дерева контента (Fields без поиска):

Если вы используете поле Multilist (без поиска), то я хотел бы сделать следующее:

DataSource=/path/to/source/1|/path/to/source/2 


Для ваша реализация:

DataSource=/sitecore/website/news|/sitecore/website/events|/sitecore/website/articles 


Я хотел бы также добавьте, что поле Treelist с полем поиска устарело в более поздних версиях Sitecore 7, поэтому, если это поле, которое вы используете, я советую перейти на Multilist с полем поиска. Если вы используете стандартное поле Treelist, тогда ответ Ахмеда может быть жизнеспособным, в зависимости от вашего варианта использования.

Дайте мне знать, если возникнут какие-либо вопросы. Удачи и счастливого кодирования!:)

+0

Захари спасибо помощнику. Удивительный ответ! И я посмотрел на ваш блог, и я буду посещать его в будущем! Хорошая вещь. Я не могу заставить ваше предложение работать, хотя ... Когда я пытаюсь установить несколько источников данных, он отображает все дерево данных. (Я пробовал второй без поиска). Я что-то пропустил? – Snapper

+0

Дайте мне знать информацию о вашей версии, и я буду исследовать. Это допустимый синтаксис для источника данных, но это может быть ошибка Sitecore. –

+0

В этом случае я использую sitecore 7 rev. 130424 – Snapper