Визуализация статьи с заданным шаблоном в шаблоне скорости

Я определил:

  • Структура
  • Два или несколько шаблонов, связанных со структурой (полное содержание, краткое резюме блока, ...)
  • Веб-контент в заданной структуре

в другом шаблоне у меня есть функции для сбора ссылок на мою статью; Я хочу сделать статью с заданным шаблоном.

...
#set( $templateId = 27121)
#set ($DDMTemplateLocalService = $serviceLocator.findService("com.liferay.portlet.dynamicdatamapping.service.DDMTemplateLocalService"))
#set( $ddmTemplate = $DDMTemplateLocalService.getTemplate($templateId))
#if( ( $articleId != $reserved-article-id.data ) )
    #set( $webContent = $journalContentUtil.getContent( $groupId, $articleId, $ddmTemplate.getPrimaryKey(), "view", "$locale", $xmlRequest ) )
    #if ( $webContent )
    <div>${webContent}</div>
    #else
    <div>Cannot use $templateName</div>
    #end
#end

... переменная $webContent всегда пуста.


person lrkwz    schedule 06.11.2014    source источник


Ответы (2)


Ответ пришел с форума liferay https://www.liferay.com/community/forums/-/message_boards/view_message/45238697

«Метод getContent из JournalContentUtil получает ddmTemplateKey в качестве третьего параметра, а не ddmTemplateId. Это два разных свойства DDMTemplate. Если вы используете $ddmTemplate.getTemplateKey() вместо $ddmTemplate.getPrimaryKey(), он должен работать (конечно, если никаких других ошибок)».

благодаря Кшиштофу Голембёвскому

person lrkwz    schedule 12.11.2014

Когда вы находитесь за пределами тега Velocity, вам нужно использовать ${webContent}. То же самое касается Freemarker.

person Ben VonDerHaar    schedule 06.11.2014
comment
К сожалению, этого недостаточно, мой вывод сейчас ... ${webContent} ! - person lrkwz; 07.11.2014