您必须允许ServiceLocator
在 Velocity 模板中使用 。在您的portal-ext.properties
设置中:
journal.template.velocity.restricted.variables=
如果您已经设置了这些键,只需serviceLocator
从列表中删除。
使用serviceLocator
我们可以加载GroupLocalServiceUtil
和JournalArticleLocalServiceUtil
. 获取所有站点的 WebContent 非常简单:
#set ($journal_article_local_service = $serviceLocator.findService("com.liferay.portal.service.JournalArticleLocalService"))
#set ($journal_articles = $journal_article_local_service.getArticles($theme_display.getScopeGroupId()))
要获取全局范围内的所有内容:
对于全局组:
#set ($group_local_service = $serviceLocator.findService("com.liferay.portal.service.GroupLocalService"))
#set ($global_group = $group_local_service.getGroup($theme_display.getCompanyId(), "Global"))
#set ($journal_article_local_service = $serviceLocator.findService("com.liferay.portal.service.JournalArticleLocalService"))
#set ($journal_articles = $journal_article_local_service.getArticles($global_group.getGroupId()))