如何使用Java处理程序在Hybris Backoffice中为特定的基本商店隐藏editorArea:section?

问题描述 投票:1回答:1

我在Hybris的backoffice-config.xml中添加了一个新的editorArea:section,如:

<editorArea:section name="myEditorArea">
    <editorArea:attribute qualifier="someQualifier"/>
</editorArea:section>

我想在Backoffice中为某些特定的Base商店隐藏此内容,并使用editorArea名称和Java处理程序。有办法吗?

java java-ee sap hybris
1个回答
0
投票

如果您有为特定基本商店定义的主体(即用户组),则可以执行以下操作。

假设您具有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>

假设没有搜索限制,并且权限允许修改titledescription属性,后台用户将可以对其进行修改。现在,我们假设Book类型具有isdn属性,并且Backoffice中该属性的编辑器区域应仅对backofficeadministratorrolebook.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
如您所见,该角色定义为BackofficeRole,它是UserGroup的子级,而不是直接定义为UserGroup。这个很重要。

在上面的父级上下文代码片段中,您应该添加以下另一个上下文,以实现上述假定的限制

<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图标->重置所有内容。)>]

© www.soinside.com 2019 - 2024. All rights reserved.