【问题标题】:How does Hybris get the label of the attributes in Backoffice?Hybris 如何获取 Backoffice 中属性的标签?
【发布时间】:2018-04-19 12:17:25
【问题描述】:

label (java.lang.String):本地化列名的键。该值在本地化包中查找。如果此字符串为空,则该列根据@qualifier 命名。

例如 *-backoffice-config.xml 中的 type="AbstractOrder":

<editorArea:tab name="hmc.properties"> 
...
  <editorArea:section name="hmc.common"> 
    <editorArea:attribute qualifier="name"/> 
    <editorArea:attribute qualifier="description"/> 
    <editorArea:attribute qualifier="expirationTime"/> 
  </editorArea:section> 
...
</editorArea:tab>

那么,标签属性是如何从数据库中获取的呢?我不明白。我尝试查看两个表

属性描述符

属性描述符SLP

但还是不清楚? 例如,产品代码属性的标签可以在 core-locales_en.properties 中找到并修改为英语 正如你上面提到的。但是,当您更改值时,我仍然看到存储在数据库中的配置值。当我在配置文件中删除此值时。然后 ant clean all -> start server ->[ hac -> Platform -> Update. (仅选中“本地化类型”)]。虽然配置文件中的值被删除了,但是标签没有改变(和数据库中的值类似)。可以说:标签值是在配置文件中配置的。但如果在配置文件中找不到,它将在数据库中查找。我是这么认为的。但是我还是不明白它的实现机制……

【问题讨论】:

    标签: hybris backoffice


    【解决方案1】:

    这个问题与你上一个问题的答案相同。标签由属性文件提供。检查后台扩展中的资源文件夹。

    【讨论】:

    • 如上所述。但是,当您更改值时,我仍然看到存储在数据库中的配置值。当我在配置文件中删除此值时。然后 ant clean all -> start server ->[ hac -> Platform -> Update. (仅选中“本地化类型”)]。虽然配置文件中的值被删除了,但是标签没有改变(和数据库中的值类似)。可以说:标签值是在配置文件中配置的。但如果在配置文件中找不到,它将在数据库中查找。我是这么认为的。但是我还是不明白它的实现机制……
    • hybris 为自己的 ORM 上的每种类型提供 pk。当您制作本地化类型时,它会更新 ORM 系统。 ORM系统将其配置保存到DB并使用。如果你想使用数据库翻译,你可以覆盖 LabelService 和 i18nService。
    • “当你进行本地化类型时,它会更新 ORM 系统。ORM 系统将其配置保存到数据库并使用”。但是我还是不明白它的实现机制。你能告诉我Hybris核心的代码吗?谢谢你...
    • 你能多说一些吗?谢谢 mkysoft。
    • 您可以查看 de.hybris.platform.servicelayer.model.ModelService 以创建、删除或更改项目(模型)的属性。我没有更新 ORM 表的类名。也许您可以找到正在更新 maptypes 表的代码。
    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 2011-09-20
    • 2020-11-27
    • 2017-02-27
    • 2016-07-11
    • 2020-01-12
    • 1970-01-01
    • 2015-04-25
    相关资源
    最近更新 更多