如何使后台标签默认语言为 en_GB。它目前正在上涨 en_US。使用 hybris 6.5。
我看不到标签,因为值上显示了 null,当检查标签时,它不是空的。但是有一种不同的语言为空(en_US),我认为这是默认的语言/备用语言,当我在 en_US 中添加值时,它起作用了。我希望它在 en_GB 中工作。
如何使后台标签默认语言为 en_GB。它目前正在上涨 en_US。使用 hybris 6.5。
我看不到标签,因为值上显示了 null,当检查标签时,它不是空的。但是有一种不同的语言为空(en_US),我认为这是默认的语言/备用语言,当我在 en_US 中添加值时,它起作用了。我希望它在 en_GB 中工作。
在 OOTB 中,有一个类 BackofficeAuthenticationSuccessHandler。在这里,它选择类(CockpitLocaleService)中的当前语言环境。尝试编写自定义身份验证处理程序以进行更改并设置要显示的语言。
如果您想更改后台/驾驶舱登录页面的默认区域设置,而不使用“语言选择器”(也许您不想显示此选择器。所以假设此选择器不存在):
有一个更好的解决方案,它不需要 java 代码。您所要做的就是覆盖 login.zul,购买添加文本输入。请注意:
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的本机实现的情况下工作。