2015-06-24 1 views
0
item.Fields.ReadAll(); 

Дает нам все поля предмета. Есть ли способ получить только поля, которые сгруппированы в поле «Данные».
Просто разработать немного больше:Sitecore прочитало определенное поле в разделе «Данные» из позиции

-> Data 
    - Address 
    - Street 
    - ZIP 
-> Extra Data 
    - Phone 
    - Fax 

Так что в этом случае я хочу, чтобы получить только поля, определенные в разделе «Data».

ответ

0

Получите ваш шаблон от ID шаблона и базы данных:

var template = TemplateManager.GetTemplate(item.Template.ID, Factory.GetDatabase("contentDatabaseName")); 

, а затем

private static IEnumerable<TemplateField> GetDataFields(Template template) 
{ 
      var allFields = template.GetFields(); 
      var dataFields = allFields.Where(x => x.Section.Name == "Data"); 
      return dataFields; 
} 

теперь, когда у вас есть идентификаторы полей, вы можете получить ваши ценности

var data = item.Fields[field.ID].Value; 
+0

Таким образом, я получаю поля шаблона. Но я хочу получить поля самого элемента, а затем прочитать значения. – Kamran

+0

Я обновил свой ответ. – kozziification

Смежные вопросы