2013-11-08 4 views
0

Мы создали пользовательский тип в саду через страницу администратора, на нем есть поля. Как получить доступ к этим полям в модуле?Получение элементов из объекта пользовательского контента Orchard CMS

Как я могу найти, чтобы сделать это:

dynamic firstCourse = _contentManager.Query().ForType("Course").List().First(); 
    var fields = firstCourse.Parts[5].Fields as List<ContentField>; 

Это не может быть правильным решением.

ответ

1
dynamic firstCourse = _contentManager.Query("Course").List().First(); 
var myField = firstCourse.Course.MyField as WhateverTypeTheFieldIs; 

Это должно сделать трюк, чтобы получить поле под названием «MyField», но ваш вопрос не ясно, о том, что именно вы пытаетесь сделать. Если вы пытаетесь получить список всех полей, то это должно работать, я думаю:

var fields = firstCourse.Course.Fields as IEnumerable<ContentField>; 

(также, у вас больше шансов получить хороший ответ, если вы не оскорблять людей, скорее всего, чтобы обеспечить его. Документация открыта с открытым исходным кодом, поэтому исправьте ее.)

+0

Я написал, что, проведя около 2 часов, пытаясь понять это, после просмотра видео курса я не думаю, что это путь Орчард , Я думаю, что я должен использовать DataMigrations, когда мне нужен более простой программный доступ к объектам. Я отредактирую явно выраженную формулировку, но точка стоит, документы оставляют желать лучшего с точки зрения девелопера, я буду вносить некоторые из них через неделю, когда я смогу поговорить с Орчард немного лучше. (Я не оскорблял людей, я оскорблял документацию, а критикую код не кодер) – Tarks

+0

Это не работает. Если я: 'динамический Non = _contentManager.New ("Номинальные");' ' вар MyField = non.PersonalDetails.FirstName в виде строки;' PersonalDetails является частью, Кандидатами являются ТипСодержимым и FirstName является полем , Я получаю «Orchard.ContentManagement.ContentItem» не содержит определения для «PersonalDetails» – Tarks

+0

Перенос? Зачем? Я изо всех сил пытаюсь понять, какие миграции могут иметь отношение к вашему вопросу. Теперь вы задаете другой вопрос. Если элемент контента является новым, он может не иметь всех частей и полей еще до его создания. В этом случае часть еще не существует. Наконец, спасибо за обновление вопроса, но не удивляйтесь, если люди оскорбляются, когда вы оскорбляете их работу. Просто говорю. –

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