【问题标题】:Can we have language define per user or group or org?我们可以为每个用户、组或组织定义语言吗?
【发布时间】:2015-12-13 04:53:15
【问题描述】:

我想检查我们是否可以根据用户组织或组来限制 language portlet 中列出的支持的语言。

我们有一个带有语言 portlet 的页面,该页面配置了“英语”、“法语”、“德语”等语言

我们有用户:

  • 德国用户

    • 属于org1,来自德国
    • 当这种类型的用户访问我们的页面时,他应该只在语言 portlet 中看到“English”和“Germin”。
  • 其他用户

    • 属于 org2 来自全局操作
    • 当这种类型的用户访问我们的页面时,他应该会看到所有配置的语言。

我们可以使用原生 Liferay 来实现这一点,还是需要使用钩子来实现它?

【问题讨论】:

    标签: liferay liferay-6


    【解决方案1】:

    由于语言 portlet 使用 portlet 首选项来存储选定的语言(请参阅/html/portlet/language/init.jsp)并且该 portlet 声明了preferences-owned-by-group(请参阅/WEB-INF/liferay-portlet.xml),这意味着所有用户都可以看到相同的语言列表。

    如果您想改变这一点,您要么必须编写一个钩子(然后在/html/portlet/language/init-ext.jsp 中进行必要的修改),要么创建您自己的portlet,或者在您的主​​题中实现该功能。如果要求的设计与语言 portlet 提供的设计不匹配,则后者无论如何都是常见的情况。

    【讨论】:

    • 感谢 Tobais,我想这是解决方案之一。到目前为止,我们将使用默认值,因为这似乎更简单。相反,我认为我们可以创建一个自定义的 portlet,这似乎是最好的解决方案。
    【解决方案2】:

    在 Liferay 6.2 中,您可以定义每个组织或社区站点的语言。我猜你已经通过 portal-ext.properties 或控制面板设置了可用的语言。

    在“站点设置 - 显示设置”中,您可以限制可用的语言。您可以为每个网站更改这些语言。

    【讨论】:

    • 谢谢 Michel,但这将在站点级别上工作,但我对似乎超出站点范围的“我的个人资料”级别感兴趣,这在门户级别。如果我错了,请纠正我!
    猜你喜欢
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 2020-06-15
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多