Предоставьте String тему Velocity в Liferay для тегов социальных сетей (Open Graph)

Я хотел бы открыть некоторые строки для темы скорости в фреймворке liferay, чтобы написать некоторые заголовки HTTP, используемые для обмена в социальных сетях. Важно то, что мой контроллер должен поместить эти строки в тему скорости во время фазы рендеринга.

Как это можно сделать, пожалуйста?


person cachiama    schedule 04.09.2013    source источник


Ответы (2)


Вы всегда можете создать собственный хук и добавить пользовательскую переменную, которая будет доступна в теме. Перейдите по этой ссылке http://www.opensourceforlife.com/2012/06/custom-velocity-variable-in-liferay-61.html

person Sandeep Nair    schedule 05.09.2013
comment
Крюк срабатывает перед контроллером MVC, поэтому он не будет работать. Можно ли получить вывод JSP и проанализировать его через JSOUP? - person cachiama; 05.09.2013
comment
Доступны ли строки через какой-либо сервис. Если да, то у нас все еще есть шанс, вызвав serviceLocator, чтобы получить услугу в теме. Если строки только что созданы на этапе рендеринга, я не уверен, как получить значение. - person Sandeep Nair; 05.09.2013

Я думаю, что служебный класс VelocityVariablesUtil должен помочь вам вставить некоторые переменные или пользовательские вспомогательные утилиты, которые будут доступны из файла шаблона (*.vm) темы.

Вы можете использовать метод insertVariables() этого класса в своем контроллере, чтобы добиться того, что вам нужно.

Дайте мне знать, если это работает.

person Prakash K    schedule 05.09.2013
comment
Я использую более старую версию Liferay, и в моем пути к классам нет этого класса. - person cachiama; 05.09.2013
comment
Какую версию LifeRay вы используете? Это может быть еще одной хорошей причиной для обновления ;-) - person Prakash K; 05.09.2013
comment
вы не можете установить строки в качестве атрибутов запроса? request и другие переменные уже доступны в шаблоне темы. Может быть, я что-то упускаю здесь, но если вы можете немного подробнее рассказать о том, чего вы хотите достичь. Спасибо - person Prakash K; 06.09.2013