Я нашел, как встроить WebContent в тему Liferay 6.2, используя метод journalContentUtil.getContent
. Мой вопрос: как сделать то же самое в Liferay 7?Как вставлять WebContent в freemarker Liferay 7 theme?
ответ
Ближайший класс к journalContentUtil
is JournalContentImpl
и имеет почти одинаковые методы, связанные с getContent
. Вы можете увидеть здесь код JournalContentImpl
Для встраивания WebContent в Liferay 7, прежде всего, вам нужно включить serviceLocator в панели управления -> Конфигурация -> Настройки системы -> Основание -> Двигатель FreeMarker -> Ограниченные переменные. Там вы можете удалить ServiceLocator
Теперь вы можете использовать его, например, в Application Display Template (Freemarker):
<#assign liferay_ui = taglibLiferayHash["/META-INF/liferay-ui.tld"] />
<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
, а затем использовать journalArticleLocalService для получения WebContent делает
getArticleContent(long groupId, String articleId, double version, String viewMode, String ddmTemplateKey, String languageId, ThemeDisplay themeDisplay)
Технически, я думаю, что этот ответ более точен, но мне нравится ответ от @ abhishek-suthar, так как контент будет добавлен с помощью элементов управления портлетом, и администратор может изменить его. Если вы просто хотите добавить html, этот метод работает лучше всего. Чтобы дополнить последнюю строку кода, это пример того, как вызывать метод '' '<#assign article = journalArticleLocalService.fetchArticle (group_id," FOOTER ")>' '' then '' '$ {journalArticleLocalService.getArticleContent (статья, article.getDDMTemplateKey(), "VIEW", locale, themeDisplay)} '' ' – gus3001
I нашли способ исправить веб-контент с помощью пользовательского шаблона ftl в Liferay 7/DXP.
Ниже приведен пример кода,
<#assign VOID = freeMarkerPortletPreferences.setValue("portletSetupPortletDecoratorId", "barebone") />
<#assign theme_groupID = htmlUtil.escape(theme_display.getCompanyGroupId()?string) />
<#assign VOID = freeMarkerPortletPreferences.setValue("groupId", '${group_id}') />
<#assign VOID = freeMarkerPortletPreferences.setValue("articleId", "yourarticleid") />
<@liferay_portlet["runtime"]
defaultPreferences="${freeMarkerPortletPreferences}"
portletProviderAction=portletProviderAction.VIEW
instanceId="footercontent"
portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" />
${freeMarkerPortletPreferences.reset()}
Убедитесь ArticleID, которые вы предоставляете в настройках находится в группе/сайт groupId.Means должен содержит WebContent.
Это замечательно, работайте со мной! Мой вопрос: как вы выяснили, как это сделать? Я не мог найти никакой документации о том, как использовать @liferay_portlet ["runtime"] – gus3001
- 1. Как вставлять WebContent в Liferay
- 2. Liferay шаблон скорость WebContent - $ JournalArticleLocalService
- 3. CSS to Liferay theme
- 4. Liferay freemarker template - Использование индекса в списке
- 5. Развертывание Liferay 6.1 Theme
- 6. Private WebContent для данной роли в Liferay
- 7. Liferay theme - html5
- 8. Liferay 6.1 Zenlike Theme
- 9. Добавить новую версию webcontent в Liferay
- 10. Язык, специфичный для webcontent в Liferay
- 11. Liferay 7 - Freemarker: операция разворота, не соответствующая функции.
- 12. Liferay список FreeMarker тег - Velocity аналог
- 13. Liferay Theme: get Portlet Window State
- 14. Liferay welcome theme Навигационная панель
- 15. Удалить main.js из Liferay Theme
- 16. Импорт внешнего ресурса с помощью Freemarker или Velocity в Liferay
- 17. Liferay theme template processing error
- 18. Liferay theme and portlet communication
- 19. Liferay theme получить настройки портлета
- 20. Liferay 6.2 maven theme - как насчет liferay-look-and-feel.xml?
- 21. Не удалось найти шаблон Freemarker в Liferay
- 22. Вызов объекта темы Liferay в шаблоне freemarker
- 23. Drupal 7 theme config
- 24. Можно ли установить шаблон webcontent по умолчанию в liferay?
- 25. Windows 7 Aero theme
- 26. Как передать шаблон электронной почты freemarker как письмо в Liferay?
- 27. Liferay 7, Конфигурация Jboss 7
- 28. Liferay aui css overriding
- 29. Liferay: Theme не загружает CSS-портлета
- 30. Return json view content without liferay theme
'JournalContentImpl' в не доступной службе в контексте freemarker/velocity –
Вы пробовали с классом обслуживания' JournalContent', правильно ?! – KLajdPaja