2012-05-24 2 views
0

Я создаю несколько шаблонов Магнолии и хотел бы знать, нашел ли кто-нибудь способ создания @cms.newBar и каким-то образом использует узел в качестве списка доступных абзацев. Синтаксис выглядит следующим образом:Magnolia @ cms.newBar

[@cms.newBar newLabel="Add Content" paragraph="template1, template2" /] 

Я хочу использовать узел вместо того, чтобы избежать того, чтобы вернуться и добавить новые шаблоны при их создании.

Я видел документы here и знаю, что ничего не указано, но хотел узнать, нашел ли кто-нибудь способ?

ответ

3

Вы можете сделать несколько вещей, все кипячения к тому же:

  • Configure строка свойство, содержащее «template1, template2», в своем определении шаблона. Предполагая, что вы используете Freemarker как язык шаблонов, относятся к нему с ${def.thatProperty} (DEF ссылается ваше определение шаблона)

  • ваш класс модели вернуть это значение: ${model.whatsCooking}, где ваш класс модели имеет метод String getWhatsCooking() который возвращает «template1 , template2" (или что-то еще можно придумать, что решает, какие пункты должны быть доступны

  • STK делает что-то похожее на (1) - его определение шаблона содержит List х „доступных“ пункты, и его шаблоны используют некоторые утилита, чтобы превратить это в список, разделенный запятой, использовать с новым баром, так что-то вроде ${stk.toStringList(def.main.paragraphs)} (Я не могу вспомнить точные имена и семантику, но вы получите суть).

Возможно, вам стоит подумать о том, чтобы смотреть в STK на это и многое другое.

Что касается документации, возможно, the templating guide и другие документы будут более полезными, чем javadoc/tlddoc в этом случае.

HTH,

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