在Liferay 6.2.GA2中按范围以编程方式筛选web内容

在Liferay 6.2.GA2中按范围以编程方式筛选web内容,liferay,liferay-6,web-content,Liferay,Liferay 6,Web Content,正在更新以获取更多信息: 是否有任何方法可以通过编程方式从全局范围或当前选定的站点范围中选择所有web内容 我想在velocity模板“portal_normal.vm”中这样做。我编写了“$themeDisplay.getScopeGroupId().toString()”来获取组id 我有2个站点/社区,我为每个站点/社区分配了一个用户。一个站点是默认的liferay站点,它有默认的liferay用户。另一个站点是我的自定义站点,它有我自己的用户。当我尝试使用他们中的每一个登录时,我总是获取

正在更新以获取更多信息: 是否有任何方法可以通过编程方式从全局范围或当前选定的站点范围中选择所有web内容

我想在velocity模板“portal_normal.vm”中这样做。我编写了“$themeDisplay.getScopeGroupId().toString()”来获取组id


我有2个站点/社区,我为每个站点/社区分配了一个用户。一个站点是默认的liferay站点,它有默认的liferay用户。另一个站点是我的自定义站点,它有我自己的用户。当我尝试使用他们中的每一个登录时,我总是获取liferay站点的组id。是否需要使用其他方法来获取当前登录用户的站点

您必须允许在Velocity模板中使用
ServiceLocator
。在您的
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()))

您选择所有webcontent是什么意思?同时请提供您为此付出的所有努力/感谢回复。实际上,我想在velocity模板“portal_normal.vm”中这样做。我写了“$themeDisplay.getScopeGroupId().toString()”来获取组id。我在liferay中有两个站点/社区,并为每个站点/社区分配了一个用户。一个站点是默认的liferay站点,它有默认的liferay用户。另一个站点是我的自定义站点,它有我自己的用户。当我尝试使用他们中的每一个登录时,我总是会获取liferay站点的组id。是否需要使用其他方法来获取当前登录用户的站点?没问题!对于社区的其他人,请更新问题以反映您的评论。我会更新它。非常感谢。我会尝试这段代码,并在测试后立即更新。如果我理解正确,“$themeDisplay.getScopeGroupId()”将返回当前登录用户的站点id,对吗?它将返回用户当前查看的站点的groupId。我尝试使用“getScopeGroupId”获取社区id,但我总是会找回默认的liferay社区/站点id。当我与分配了自定义站点/社区的用户登录时,我希望它的id会被返回。有什么线索可以解释为什么会发生这种情况吗?此外,当我试图获取文章时,我会获取所有版本的文章,其中我只查找文章的最新版本。我是否应该自己删除重复的文章?