2015-07-03 2 views
0

У меня есть проекционный виджет, который отображает тип содержимого в зоне AsideSecond. Я использовал Placement.info для подавления большинства метаданных.Orchard чередуется для разных зон

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

Я не могу понять, как указать альтернативный шаблон, основанный на том, где отображается форма. Оба они имеют тип отображения. Все, что я пытаюсь применить, подавляет/альтернативный шаблон для обоих.

Поскольку это темы, которые будут добавлены в качестве форума, я не могу использовать альтернативный вариант ID как жизнеспособный вариант.

Моего отношения размещение:

<Match ContentType="Thread"> 
    <Match DisplayType="Summary"> 
    <Place Parts_Common_Metadata_Summary="-"/> 
    <Place Parts_Threads_Thread_ThreadReplyCount="-"/> 
    <Place Forum_Metadata_First="-"/> 
    </Match> 
</Match> 

Я попытался гнездящимся на Place элементов под <Match ContentType="Widget"> элемента, но безрезультатно.

Возможно ли это?

Обновление: Я создал макет формы в запросе, используемом в проекционном виджетах. Я создал свою собственную форму списка в папке Views тем и могу получить доступ к соответствующим свойствам, которые мне нужны, с небольшим количеством кастингов. Итак, я могу обойти свою проблему.

Я все еще хотел бы знать, можно ли установить альтернативу в зависимости от зоны или отображение содержимого в виджетах. Я видел несколько, в основном без ответов, вопросов по SO относительно этого (например, How to suppress parts in Orchard based on zone)

+1

Используйте другой тип дисплея? – Hazza

+0

Это где-то где-то? Я не знаю, как установить DisplayType на проекционном виджете. Другая форма управляется модулем. Я могу изменить исходный код, если это необходимо, но надеялся на это решение для конфигурации или переопределение темы. – hsimah

+1

Виджет-проектор будет отображать запрос, в котором есть макеты, связанные с ним. Вы сможете изменить вид отображения там :) – Hazza

ответ

1

На вопрос был вопрос: Orchard discussion forum.

Задача состоит в том, что вы не можете легко узнать, в какой зону ваших форм части в настоящее время оказывается. Если вы хотите добавить чередуется в виджете формы то, что будет легко, так как виджеты знают, к какой зоне они принадлежат ,

Таким образом, короткий ответ: нет, не из коробки. Тем не менее, вы могли бы реализовать IShapeTableProvider и описать форму Widget. Эта форма будет содержать ссылку на ContentItem (в которой будет присоединен WidgetPart 10, через который вы можете получить доступ к названию зоны, к которому принадлежит ) и дочерние фигуры (включая фигуры, такие как Parts_Title_Summary), поэтому вы можете пройти это дерево фигур и add чередуется с каждым именем зоны.

Не очень, но это может сработать.

Таким образом, это не просто альтернативное решение для именования или размещения. Я считаю, что лучший план действий - написать собственный макет для запроса, если вы пытаетесь использовать один и тот же ContentType и DisplayType через зоны. Надеюсь, это поможет кому-то.

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