【问题标题】:Programatically filter web content by scope in Liferay 6.2.GA2在 Liferay 6.2.GA2 中以编程方式按范围过滤 Web 内容
【发布时间】:2014-06-19 12:09:12
【问题描述】:

更新以获得更多信息: 有没有办法以编程方式从全局范围或当前选定的站点范围中选择所有 Web 内容。

我想在速度模板“portal_normal.vm”中执行此操作。我写了“$themeDisplay.getScopeGroupId().toString()”来获取组ID。

我有 2 个站点/社区,并且我为每个站点/社区分配了一个用户。一个站点是具有默认liferay 用户的默认liferay 站点。另一个站点是我的自定义站点并且有我自己的用户。当我尝试使用他们每个人登录时,我总是得到 liferay 站点的组 ID。我需要使用其他方法来获取当前登录用户的站点吗?

【问题讨论】:

  • 选择所有网页内容是什么意思?
  • 另外请提供您为此付出的所有努力/

标签: liferay liferay-6 web-content


【解决方案1】:

您必须允许在 Velocity 模板中使用 ServiceLocator。在您的portal-ext.properties 中设置以下内容:

journal.template.velocity.restricted.variables=

如果您已经设置了这些键,只需从列表中删除 serviceLocator

使用serviceLocator,我们可以加载GroupLocalServiceUtilJournalArticleLocalServiceUtil。获取所有站点的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()))

【讨论】:

  • 感谢回复。实际上我想在速度模板“portal_normal.vm”中执行此操作。我写了“$themeDisplay.getScopeGroupId().toString()”来获取组 ID。我的 liferay 中有 2 个站点/社区,并为每个用户分配了一个用户。一个站点是具有默认liferay 用户的默认liferay 站点。另一个站点是我的自定义站点并且有我自己的用户。当我尝试使用他们每个人登录时,我总是得到 liferay 站点的组 ID。我需要使用其他方法来获取当前登录用户的站点吗?
  • 没问题!对于社区的其他人,请更新问题以反映您的评论。我会更新的。
  • 非常感谢。我会尝试这段代码,并在测试后立即更新。如果我理解正确“$themeDisplay.getScopeGroupId()”。是要返回当前登录用户的站点ID吗?
  • 它将返回用户当前正在查看的站点的groupId。
  • 我尝试使用“getScopeGroupId”获取社区 id,但我总是得到默认的 liferay 社区/站点 id。当我使用分配了我的自定义站点/社区的用户登录时,我期望它的 id被退回。任何线索为什么会发生这种情况?此外,当我尝试获取文章时,我会获取所有版本的文章,而我只查找文章的最新版本。我应该自己删除重复项吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 2019-07-20
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 2017-08-08
相关资源
最近更新 更多