Я использую CMS Magnolia 5.6 Enterprise Pro, и у меня есть область списка типов с одним доступным компонентом:
areas:
steps:
renderType: freemarker
availableComponents:
step:
id: obi-module:components/step
Таким образом, я могу добавить N компонентов одного типа в область шагов .
Проблема: Теперь я хочу отобразить индекс компонента в скрипте шаблона компонента step , но я не знаю, как этого добиться.
В шаблонном скрипте внешнего компонента я могу сделать следующее:
[#assign stepList=cmsfn.children(content.steps) ]
...
<p>Number of steps: ${stepList?size!'#'}</p>
...
[#list stepList as component]
[@cms.component content=component contextAttributes={'index':component?counter} /]
[/#list]
и в шаблонном скрипте компонента step я могу использовать переменную index :
${(ctx.index)!'#'}
Здесь отображается желаемый индексный номер 1, но теперь в Magnolia я больше не могу редактировать компоненты, так как у меня нет обычной зеленой панели редактора Magnolia для step компонентов.
Когда я ставлю шаблонный скрипт так:
[#assign stepList=cmsfn.children(content.steps) ]
...
<p>Number of steps: ${stepList?size!'#'}</p>
...
[@cms.area name="steps" /]
Я могу редактировать компоненты, но не знаю, как получить индекс (список).
Кто-нибудь знает, как этого добиться?