0

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

我看不到标签,因为值上显示了 null,当检查标签时,它不是空的。但是有一种不同的语言为空(en_US),我认为这是默认的语言/备用语言,当我在 en_US 中添加值时,它起作用了。我希望它在 en_GB 中工作。

4

2 回答 2

2

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

于 2019-09-26T07:50:08.610 回答
0

如果您想更改后台/驾驶舱登录页面的默认区域设置,而不使用“语言选择器”(也许您不想显示此选择器。所以假设此选择器不存在):

在此处输入图像描述

有一个更好的解决方案,它不需要 java 代码。您所要做的就是覆盖 login.zul,购买添加文本输入。请注意:

  1. 输入名称必须是:“locale”
  2. 输入类型必须是:“text”(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的本机实现的情况下工作。

于 2020-05-19T18:01:34.673 回答