【问题标题】:Show Localized value for HybrisEnumValue in Hybris Backoffice在 Hybris Backoffice 中显示 HybrisEnumValue 的本地化值
【发布时间】:2020-10-23 23:57:49
【问题描述】:

我们正在尝试显示“动态”枚举的本地化值。

在我们的backoffice-config.xml 我们有这样的东西

<context type="CustomeType" component="base" merge-by="type">
    <y:base xmlns:y="http://www.hybris.com/cockpit/config/hybris">
        <y:labels>
            <y:label>customProperty.hybrisEnumValueProperty.name</y:label>
        </y:labels>
    </y:base>
</context>

这样,我们在后台收到默认的 TypeName(Pk),而不是本地化名称。对于代码,它工作得很好。也适用于 hmc。

【问题讨论】:

  • dynamic,您的意思是枚举的值来自不同的系统,即某些属性文件中的静态值不适用于您的情况?
  • 它们来自数据库。在枚举表中,因此它们不存在于 items.xml 文件中。静态属性不起作用,因为它们是动态创建/删除的。

标签: localization hybris backoffice


【解决方案1】:

您需要为这些枚举添加本地化文本,如下所示。

mycoreextension-items.xml

<enumtype code="myenum" generate="true" dynamic="true">
  <value code="ENUM1" />
  <value code="ENUM2" />
</enumtype>

mycoreextension-locales_en.properties

type.myenum.name=My Enum Name
type.myenum.description=My enum description
type.myenum.enum1.name=My enum value 1
type.myenum.enum2.name=My enum value 1

【讨论】:

  • 难道没有办法像在 hmc 中那样获取枚举“名称”吗?属性可以工作,但这些枚举实例是动态创建的。
  • hmc 会自动从翻译文件中获取这些翻译。也许您可以操纵翻译服务在运行时添加翻译。我们做了一些操作来寻找用过的词来创建新词。如果我能记住更多细节,我会更新我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
  • 2018-04-19
  • 1970-01-01
  • 2019-02-10
  • 2020-10-05
相关资源
最近更新 更多