2011-01-09 4 views
4

Следующий запрос Sitecore работает для меня в XPath Builder:Запрашивание поле Sitecore Droplink

/sitecore/content/Home/CareAndTreatment//*[@Title='Birth Marks and other skin conditions'] 

Но подобный запрос, который проверяет на DropLink поле вместо однострочного текстового поля не возвращает никаких результатов :

/sitecore/content/Home/CareAndTreatment//*[@TreatmentType='Conditions'] 

Есть ли разница в синтаксисе в языке запросов для текста с одной строкой или с помощью Droplink?

[Примечание: Эти примеры используют Sitecore 6,2]

ответ

4

Я мог ошибаться, но ... Разве поле DropLink не хранит идентификатор элемента, а не текст? Так что вам придется просить об этом.

- магазины выпадающего списка текст в качестве исходного значения
DropLink - магазины ID как необработанного значения

Возможно API Query принимает это во внимание?

3

решение не так уж трудно, префикс его с запросом, например:

query:/sitecore/content/Home/CareAndTreatment//*[@TreatmentType='Conditions'] 

Смотрите также: http://sdn.sitecore.net/Reference/Sitecore%206/Data%20Definition%20Cookbook.aspx (2.4.2)

+1

Sitecore делает это запутанным. Я использую XPath Builder для тестирования запросов (Центр разработчиков -> Инструменты -> XPath Builder), и он не работает, если вы набираете «query:» в начале. Если вы это сделаете, в нем говорится: «Конец строки, ожидаемый в позиции 5.» Я знаю, что инструмент работает, потому что работает первый запрос. – JoshBaltzell

+0

Если вы тестируете запрос Sitecore из центра dev, вам не нужна часть «query:», поскольку это подразумевается. Просто поставь все, что захочешь. – timothyclifford