2015-11-13 3 views
0

Документация настолько бесполезна, когда дело касается специализированного вопроса. Предположим, у меня есть контент-панель с несколькими полями (например, Fields_Common_Text). Теперь предположим, у меня есть name поле и email поле (это только примеры фактического случай может быть более сложным.Orchard CMS Размещение по названию поля

предположить Кроме того, моя часть имеет еще одно поле строки, которую мы называем title. Так

CustomContentPart: 
    Fields_Common_Text name 
    Fields_Common_Text email 
    this.As<TitlePart>().Title 

Теперь реальный вопрос начинается здесь Как использовать placement.info файл, чтобы поместить заголовок между этими двумя Так что я могу сделать следующее:...

<Place Parts_CustomContent="Content:0" /> 
<Place Fields_Common_Text="Content:1"/> 

Но это будет место как текстовые поля после заголовка Ho w я помещаю поля по их имени? (Или делать это по-другому, использование альтернатив не работает, поскольку альтернативы являются хиралью форм и зон визуализации, поэтому эти атрибуты не могут быть получены из родительской формы (в чистом виде))

ответ

0

Мне действительно удалось решить этот вопрос

Решение в точности так, как я подозревал. Теперь давайте предположим, что форма моего CustomPart также оказывает титул внутри него (так что фактическое TitlePart помещается в другом месте и вынесенное в Header зоне) Таким образом, есть три формы:

Parts_CustomContent 
Fields_Common_Text 
Fields_Common_Text 

Теперь для того, чтобы поместить их в содержании в порядок name текстового поля, CustomContentPart и email текстовое поле добавьте следующую строку в файл: placement.info

<Place Fields_Common_Text-name="Content:0"/> 
<Place Parts_CustomContent="Content:1" /> 
<Place Fields_Common_Text-email="Content:"/> 

ПРИМЕЧАНИЕ: Запомнить name и email являются официальными именами, которые вы назначили своим TextField (через gui или Migration). Конечно, заглавные Name и Email являются лучшими именами, которые я просто старался придерживаться вопроса.

только специфический ТипСодержимого

Я попытался с помощью контента типа подписи, а также имя поля, но это не сработало. Если вы хотите применить это размещение только к определенным типам контента, вы должны использовать:

<Math ContentType='YourDesiredContentType'> 
    <!-- Your Place tags --> 
</Match> 
Смежные вопросы