Тег списка Liferay freemarker — аналог скорости

#liferay #liferay-6 #velocity #freemarker

#liferay #liferay-6 #скорость #freemarker

Вопрос:

В моем шаблоне веб-контента Liferay 6.2 EE у меня есть следующий код freemarker:

 <#list teaserHeader.getSiblings() as teaser_header>
    <#if getterUtil.getBoolean(teaser_header.teaserVisible.getData())>
        <h2 class="section-headline">${teaserHeader.getData()?html}</h2>
            <div class="inner-15">
                <div class="general-wrapper inner-15-content bound" >
                    <#if teaser_header.teaserImage.getData() != "">
                    <div class="product-image-wrapper left">
                        <img src="${teaser_header.teaserImage.getData()}" width="" height=""/>
                    </div>
                    </#if>
                    <div class="product-teaser-info left">${teaser_header.teaserContent.getData()}</div>
                    <div class="clearfix"></div>
                </div>
            </div>
    </#if>
</#list>
  

К сожалению, мы должны переключиться на Velocity.

Каков наилучший подход для преобразования тега списка freemarkers в Velocity?

Я уже принял все остальное (теги if, вызовы методов, …)

Но у меня возникли некоторые проблемы с тегом list.

Я пытался сделать это с помощью foreach в Velocity, но у меня не получилось…

Спасибо

Ответ №1:

В velocity это должно выглядеть примерно так:

 #if (!$teaserHeader.getSiblings().isEmpty())
    #foreach ($teaser_header in $teaserHeader.getSiblings())
        ...
    #end
#end
  

Комментарии:

1. Просто вопрос: почему мы должны проверять, пуст ли список siblings? Не удастся ли выполнить итерацию по пустому списку?

2. нет, просто проверяю, есть ли тизерхедер со значением