Magnolia CMS 5.5.5 从角色中选择

Magnolia CMS 5.5.5 Choose from roles

我正在寻找在页面 属性 对话框中选择特定角色的可能性。页面的某些部分应该只对某些角色可见。

我得到的是

- name: allowedRoles
  class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
  label: Select Roles
  field:
    name: roleLinkField
    class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
    targetWorkspace: userroles
    appName: security
    identifierToPathConverter:
      class: info.magnolia.ui.form.field.converter.BaseIdentifierToPathConverter

这让我只能选择用户而不是用户角色。我需要做什么才能从 "security" 的名为 "roles" 的子应用程序中进行选择?

好吧,这花了一段时间才弄明白,但最终还是比较简单:

  • 在应用程序中定义 chooseDialog,您要从中明确选择不同的子应用程序(在您的情况下 security-app
  • chooseDialog 中,定义 workbench 字段指向感兴趣的子应用程序中的 workbench(在您的案例中是角色)。 Class 必须在此处明确指定字段的定义。
  • 同样在 chooseDialog 中,定义 contentConnector 指向感兴趣的连接器(在您的案例中的角色子应用程序中)
  • 在您添加 link 字段的对话框中,在 link 字段的定义中,将 appName 设置为应用程序(在您的情况下为 security ) 并将 targetWorkspace 设置为您在上述步骤中从 chooseDialog link 编辑的连接器的工作区(在您的情况下为 userroles)。

到时候应该一切正常。限制是每个应用程序只能有一个这样的选择对话框定义,因此您必须选择要从哪个子应用程序 link 项目。

您想要的配置示例:https://gist.github.com/rah003/29910e92067effaebed9156d6bdc293a

HTH,
一月