2017-09-04 63 views
1

我正在寻找在Page属性对话框中选择某些角色的可能性。页面的某些部分应该只能看到某些角色。玉兰CMS 5.5.5从角色中选择

我得到了什么是

- 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 

这让我只能选择用户不..的UserRole做什么我需要做的,从“安全”的所谓的“角色”的subapp选择?

+1

嗯。我希望这样工作。目前无法检查代码。作为解决方法,您可以创建自定义应用程序(只需复制安全应用程序),然后将角色子应用程序作为第一个工作台/子应用程序移动并引用该应用程序。看看这是否让你走。 – Jan

+0

这是一个想法,但我宁愿不这样做..请让我知道,如果你看到另一种可能性。 – reencode

回答

2

好吧,这花了一段时间来弄清楚,但原来在年底相对简单:

  • 从中你想从不同的subapp明确地选择应用程序定义chooseDialog(在你的情况下security-app
  • chooseDialog中,定义工作台字段指向感兴趣的子应用程序中的工作台(在您的情况下为角色)。此字段的类定义必须在此明确指定。
  • chooseDialog,定义contentConnector在其中添加链接场,在链接字段的定义对话框中指向的利益连接器(角色subapp你的情况)
  • ,设置appName到应用程序( security),并将targetWorkspace设置为您在上述步骤中从chooseDialog链接的连接器的工作空间(在您的案例中为userroles)。

所有应该工作。限制是每个应用程序只能有一个这样的选择对话框定义,因此您必须从要链接项目的哪个子应用程序中进行选择。配置你想要的东西

例子:https://gist.github.com/rah003/29910e92067effaebed9156d6bdc293a

enter image description here

HTH,