如何更改后台标签的默认语言

时间:2019-09-22 17:30:31

标签: hybris backoffice

如何使后台标签默认语言为en_GB。目前正在使用en_US。使用hybris 6.5。

由于无法在值上看到null,因此我无法看到标签,当选中标签时,它不是空的。但是我使用了另一种空(en_US)语言,我相信这是默认的languae / fallback语言,当我在en_US中添加值时,它可以工作。我希望它能在en_GB中工作。

2 个答案:

答案 0 :(得分:2)

在OOTB中,有一个BackofficeAuthenticationSuccessHandler类。在这里,它选择类(CockpitLocaleService)中的当前语言环境。尝试编写一个自定义身份验证处理程序以进行更改并设置要显示的语言。

答案 1 :(得分:0)

如果您要更改后台/座舱登录页面的默认语言环境,而无需使用“语言选择器”(也许您不想显示此选择器。因此,假设该选择器不存在):

enter image description here

有一个更好的解决方案,不需要Java代码。 只需要做的就是覆盖login.zul,购买添加文本输入即可。并注意:

  1. 输入名称必须为:“区域设置”
  2. 输入类型必须为:“文本”( type =“ hidden” 对我不起作用。您可以使用CSS将其隐藏)

login.zul的示例:

 <h:form action="j_spring_security_check" method="post">
     <textbox type="text" placeholder="Email/Username" class="email-input" name="j_username"/>
     <textbox type="password" placeholder="Password" class="email-password" name="j_password"/>
     <textbox type="text" class="hidden-locale-input"  name="locale" value="en"/> 
     <button type="button" class="login" label="Login" />
 </h:form>

所有这些输入将作为映射传递到 BackofficeAuthenticationSuccessHandler.java 。 在 BackofficeAuthenticationSuccessHandler.java 中,hybris将使用此映射并搜索名为“ locale”的参数。通过在login.zul中创建输入“ locale”,我们已经为其参数提供了其值(en)

这将在不覆盖 BackofficeAuthenticationSuccessHandler.java 的本机实现的情况下起作用。