Magnolia CMS 5.5.5 从角色中选择
Posted
技术标签:
【中文标题】Magnolia CMS 5.5.5 从角色中选择【英文标题】:Magnolia CMS 5.5.5 Choose from roles 【发布时间】:2017-09-04 10:27:17 【问题描述】:我正在寻找在页面属性对话框中选择某些角色的可能性。页面的某些部分应该只对某些角色可见。
我得到的是
- 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
这让我只能选择用户而不是用户角色。我需要做什么才能从名为“角色”的“安全”子应用中进行选择?
【问题讨论】:
嗯。我希望它能按原样工作。现在无法检查代码。作为解决方法,您可以创建自定义应用程序(实际上只是复制安全应用程序)并将角色子应用程序移动到那里作为第一个工作台/子应用程序并参考那个。看看这是否能让你继续前进。 这是一个想法,但我不想那样做。如果你看到另一种可能性,请告诉我。 【参考方案1】:好的,这花了一些时间才弄清楚,但最终结果还是比较简单:
在您要从不同子应用中明确选择的应用中定义chooseDialog
(在您的情况下为security-app
)
在chooseDialog
中,定义指向感兴趣子应用中的工作台的工作台字段(在您的情况下为角色)。必须在此处明确指定字段的类定义。
也在chooseDialog
中,定义contentConnector
指向感兴趣的连接器(在您的情况下在角色子应用中)
在要添加链接字段的对话框中,在链接字段的定义中,将appName
设置为应用程序(在您的情况下为security
)并将targetWorkspace
设置为您链接的连接器的工作区来自上述步骤中的chooseDialog
(在您的情况下为userroles
)。
那么一切都应该工作。限制是每个应用程序只能有一个这样的选择对话框定义,因此您必须选择要从哪个子应用程序链接项目。
您想要的配置示例:https://gist.github.com/rah003/29910e92067effaebed9156d6bdc293a
HTH, 一月
【讨论】:
以上是关于Magnolia CMS 5.5.5 从角色中选择的主要内容,如果未能解决你的问题,请参考以下文章
Jackrabbit 索引配置白名单 (Magnolia CMS 5.5.5 Fulltextsearch)
Magnolia 5.5.5 Magnolia 中的索引配置