我在Hybris的backoffice-config.xml中添加了一个新的editorArea:section,如:
<editorArea:section name="myEditorArea">
<editorArea:attribute qualifier="someQualifier"/>
</editorArea:section>
我想在Backoffice中为某些特定的Base商店隐藏此内容,并使用editorArea名称和Java处理程序。有办法吗?
如果您有为特定基本商店定义的主体(即用户组),则可以执行以下操作。
假设您具有Book类型,并且在backoffice-config.xml中为该类型定义了如下上下文
<context type="Book" parent="GenericItem" merge-by="type">
<context component="editor-area">
<editorArea:editorArea>
<editorArea:tab name="hmc.tab.common" position="0">
<editorArea:section name="book.section.entities">
<editorArea:attribute qualifier="title"/>
<editorArea:attribute qualifier="description"/>
</editorArea:editorArea>
</editorArea:tab>
</editorArea:editorArea>
</context>
</context>
假设没有搜索限制,并且权限允许修改title和description属性,后台用户将可以对其进行修改。现在,我们假设Book类型具有isdn属性,并且Backoffice中该属性的编辑器区域应仅对backofficeadministratorrole和book.publishers.de用户组可见。反过来,book.publishers.de是德国基础商店特定的组,并定义为以下
INSERT_UPDATE BackofficeRole; uid[unique = true]; locName[lang = en]; authorities; backOfficeLoginDisabled[default = false]
; book.publishers.de ; German Publishers ; book.publishers.de
在上面的父级上下文代码片段中,您应该添加以下另一个上下文,以实现上述假定的限制
<context type="Book" parent="GenericItem" merge-by="type">
<context component="editor-area">
<editorArea:editorArea>
<editorArea:tab name="hmc.tab.common" position="0">
<editorArea:section name="book.section.entities">
<editorArea:attribute qualifier="title"/>
<editorArea:attribute qualifier="description"/>
</editorArea:editorArea>
</editorArea:tab>
</editorArea:editorArea>
</context>
<context component="editor-area" principal="backofficeadministratorrole,book.publishers.de" merge-by="principal">
<editorArea:editorArea>
<editorArea:tab name="hmc.addresses" merge-mode="append">
<editorArea:section name="hmc.tab.common">
<editorArea:attribute qualifier="isdn"/>
</editorArea:section>
</editorArea:tab>
</editorArea:editorArea>
</context>
</context>
部署更改后,请不要忘记重置后台的所有内容(F4->右上角y图标->重置所有内容。)>]