在 hybris backoffice 中更改对象标识符
Change object identifier in hybris backoffice
我想在后台添加一个扩展,这样非编程人员就可以向数据库添加新对象(定义类型)。
我快完成了:
我定义了两个项目:offer 和 tile(他们的关系是一对多)
我实现的是可以在后台添加新报价。
当您添加它并单击以编辑时,您还可以向此报价添加一个图块 - 从下拉列表(如果存在任何图块)或创建一个新图块,该图块将自动添加到其 table并与编辑后的优惠相关。
但是下拉列表的表示是unacceptable,见下:
screenshot from backoffice
如您所见,现有图块(在 [] 内)的标识符是其 PK - 这显然不是一个好的标识符。我想在那里注入一个值,而不是 tile 的其他属性之一(这也是唯一的),以便有人可以轻松识别要添加的 tile。
负责的机制在哪里?如何覆盖它。我试图覆盖磁贴中的 toString 方法 class,不幸的是无济于事
您需要为您的自定义模型自定义后台-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>
我想在后台添加一个扩展,这样非编程人员就可以向数据库添加新对象(定义类型)。
我快完成了:
我定义了两个项目:offer 和 tile(他们的关系是一对多)
我实现的是可以在后台添加新报价。 当您添加它并单击以编辑时,您还可以向此报价添加一个图块 - 从下拉列表(如果存在任何图块)或创建一个新图块,该图块将自动添加到其 table并与编辑后的优惠相关。
但是下拉列表的表示是unacceptable,见下:
screenshot from backoffice
如您所见,现有图块(在 [] 内)的标识符是其 PK - 这显然不是一个好的标识符。我想在那里注入一个值,而不是 tile 的其他属性之一(这也是唯一的),以便有人可以轻松识别要添加的 tile。
负责的机制在哪里?如何覆盖它。我试图覆盖磁贴中的 toString 方法 class,不幸的是无济于事
您需要为您的自定义模型自定义后台-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>