2016-01-13 2 views
1

Я пишу шаблон отображения приложения для издателя активов в Liferay (6.2 GA5) во Freemarker, и я хочу отобразить автора и дату создания. Некоторое время назад мне нужно было те же переменные для шаблона, и я нашел Velocity переменные соответствия: $reserved-article-author-name & $reserved-article-create-date.dataLiferay Application Display Template - Получить Velocity veriables

использовать переменные скорости в FreeMarker, я назвал их так: ${.vars['reserved-article-author-name'].data}

В моем шаблоне, он работает хорошо, в моем ADT, он выдает ошибку:

Expression .vars['reserved-article-author-name'] is undefined

Как вам удалось получить эти переменные работать в моем ADT или есть альтернативный способ, чтобы получить эту информацию?

Благодарим за помощь! :)

+0

Обратите внимание, что с FreeMarker 2.3.22 вы можете написать 'reserved \ -article \ -author \ -name' вместо' .vars ['reserved-article-author-name'] '. Я не уверен, что версия Liferay поставляется с 2.3.22+. – ddekany

ответ

0

Эти переменные «зарезервированная статья» устанавливаются только при обработке шаблонов веб-контента.

С помощью ADT вы имеете гораздо более мелкий доступ к отображаемым ресурсам, но должны использовать другой способ доступа, поскольку эти зарезервированные переменные недоступны. Активы имеют общий набор метаданных (имя, дата, название и т. Д.), К которым вы можете получить доступ. Для примера, код будет:

<#if entries?has_content> 
    <#list entries as curEntry> 
     Title: ${curEntry.getTitle(locale)} 
     Create Date: ${curEntry.createDate?date} 
     Author: ${curEntry.userName} 
    </#list> 
</#if> 

Заканчивать этот Rich Summary for Asset Publisher, чтобы увидеть, как получить доступ к метаданным для конкретных видов активов (блоги, вики и т.д.).

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