2013-09-30 2 views
0

Я пытаюсь найти лучший способ справиться с требованием, которое у меня есть для модуля Orchard, который я создаю.Повторное использование пользовательского ContentPart в том же ContentType

У меня есть ContentPart, который содержит несколько полей. Одним из полей является ContentPicker, который позволяет связать несколько элементов с частью. Остальные - описательная информация.

Проблема, которую я имею, заключается в том, что на самом деле мне нужно включить более одного из этого ContentPart в ContentType. Мне нужно создать ContentType, который имеет ровно 3 этой части.

Должен ли я превращать это в поле вместо части? Возможно ли иметь ContentField с другими полями?

Или, должен ли я каким-то образом использовать все те же модели и структуры данных, но каким-то образом определить его как 3 отдельные части?

Просто интересно, какой лучшей практикой будет заниматься что-то подобное.

ответ

2

Вы можете иметь только одну часть каждого типа для данного типа. Вы не можете иметь поля, в которых есть другие поля (вместо этого - взять существующее поле и расширить его с помощью настраиваемых материалов).

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

  • Создать пользовательское поле на основе содержимого Picker (в основном - взять существующий контент Picker и расширить его с помощью метаданных) и использовать без необходимости отдельная часть
  • Создать одну часть, чтобы удерживать только метаданные для каждого поля, прикрепленного к нему и прикрепить 1 или несколько полей для него
  • создать 3 отдельных частей. Детали следует рассматривать как расширения, которые добавляют некоторые уникальные функции в элемент. Если вы считаете, что логически нормально иметь 3 части, то пойдите для этого.
+0

Оба поля и части могут иметь свойства. –

+0

Первый вариант, который вы предложили, - это самый прямой и элегантный способ ИМО. Благодаря! Спасибо за дополнительную информацию о запасных частях и полях Бертран – Pandacoon

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