Hybris中为Customer类型新增String字段的技术咨询
嘿,作为Hybris新手,你已经做对了最关键的第一步——在extensionname-items.xml里给Customer类型加属性!接下来咱们把这个字段放到Backoffice的User/Customers/General/Essential列里,而且完全可以用Impex来搞定Backoffice的配置,不用写额外的代码,一步步来:
1. 确认items.xml的属性配置(你已完成,补个标准示例)
先确保你在items.xml里的属性定义是规范的,比如:
<itemtype code="Customer" extends="User" autocreate="false" generate="false"> <attributes> <!-- 这里是你的新字段,比如命名为newCustomField --> <attribute qualifier="newCustomField" type="java.lang.String"> <persistence type="property"/> <!-- 指定字段存储到数据库 --> <modifiers read="true" write="true" search="true" optional="true"/> <!-- 允许读写、搜索,设为非必填 --> </attribute> </attributes> </itemtype>
写完之后,记得在项目根目录执行ant clean all,让Hybris生成对应的实体类和数据库表结构。
2. 用Impex配置Backoffice的显示位置
这一步就是把新字段加到Backoffice的指定区域,用Impex脚本比可视化配置更适合版本控制,操作也简单:
打开Backoffice,按F4打开Impex导入窗口,粘贴下面的脚本:
# 配置Customer编辑器的General标签下的Essential组,添加新字段 INSERT_UPDATE EditorArea; editorType(code)[unique = true]; attributeQualifier; group(qualifier); position ; Customer; newCustomField; essential; 100 # 可选:如果想在Customers列表视图也显示这个字段,加上下面这行 INSERT_UPDATE ListView; type(code)[unique = true]; qualifier; visible; position ; Customer; newCustomField; true; 50
editorType(code)指定配置的是Customer类型的详情编辑器group(qualifier)填essential就是对应General标签下的Essential组position控制字段显示顺序,数值越小越靠前(100会默认排在原有字段之后)
执行完Impex后,刷新Backoffice页面。
3. 验证效果
现在进入User > Customers,随便打开一个客户的详情页,切换到General标签,就能在Essential组里看到你加的新字段啦!如果配置了列表视图的那行Impex,客户列表里也会同步显示这个字段。
几个小提醒
- 要是你用的是自定义extension,记得先把extension加到
localextensions.xml里启用 - 确保items.xml里的
modifiers设置了read="true"和write="true",不然Backoffice里没法查看或编辑这个字段 - 如果执行Impex后没看到效果,试试清空Backoffice的缓存(右上角用户图标里的"Clear Cache")
内容的提问来源于stack exchange,提问作者Sergu
相关产品推荐
相关产品推荐

