在 hybris 后台更改对象标识符

maj*_*jki 2 hybris backoffice

我想在后台添加一个扩展,以便非编程人员可以向数据库添加新对象(已定义类型)。

我几乎做到了:

我定义了两个项目:offer 和 tile(它们的关系是一对多的)

我所取得的是有可能在后台添加新的报价。当您添加它并单击进行编辑时,您还可以向此优惠添加一个磁贴 - 表单下拉列表(如果存在任何磁贴)或创建一个新磁贴,该磁贴将自动添加到其表中并进行编辑提供。

但是,下拉列表的表示方式是不可接受的,见下文:

后台截图

如您所见,现有磁贴(在 [] 内)的标识符是其 PK - 这显然不是一个好的标识符。我想在那里注入一个值,而不是从 tile 的其他属性之一(这也是唯一的),以便有人可以轻松识别要添加的 tile。

负责它的机制在哪里?如何覆盖它。我试图覆盖 tile 类中的 toString 方法,不幸的是无济于事

小智 5

您需要为您的自定义模型自定义 backoffice-config.xml。对于您的 Tile 模型,您可以使用以下内容:

<context merge-by="type" type="Tile" component="base">
    <y:base xmlns:y="http://www.hybris.com/cockpit/config/hybris">
        <y:labels>
             <y:label>nameOfTile</y:label>
        </y:labels>
    </y:base>
</context>
Run Code Online (Sandbox Code Playgroud)