Magnolia CMS:继承的组件定制

Posted

技术标签:

【中文标题】Magnolia CMS:继承的组件定制【英文标题】:Magnolia CMS: inherited component customisation 【发布时间】:2020-08-19 12:11:40 【问题描述】:

是否有任何可能的解决方案来自定义 magnolia 中的继承组件?如果子页面继承了一个组件,子组件在哪里可以编辑它?

【问题讨论】:

【参考方案1】:

如果该组件是继承的,则意味着它实际上并不存在于当前页面中,而仅存在于其中一个父页面中。为了能够对其进行编辑,您必须创建一个编辑按钮,该按钮将创建与在其真正所属的页面上编辑组件相同的请求。 最重要的是,您还应该检查当前用户是否实际上有权编辑此类父页面,从而编辑该页面中的组件,否则您可能会创建链接,但用户仍然无法保存他们的更改。

换句话说,如您所愿,您将需要在页面编辑器或受影响组件的模板中进行一些自定义开发(取决于您希望自定义编辑按钮与 Magnolia 其余部分的相似程度) ) 而且我不确定在这种情况下付出的努力是否值得。

如果您仍然想以最小的努力帮助您的用户,您可以在编辑模式下从组件模板生成额外的链接,该链接将指向该组件所属的页面。这样用户就不需要搜索组件所属的页面,从其模板中确定组件的父页面并生成指向它的链接很容易,而且您还可以绕过安全问题,因为链接只会将用户带到页面和页面编辑器将负责安全性,并确定是否允许编辑并显示编辑按钮,或者用户是否对页面及其组件具有只读权限。

【讨论】:

以上是关于Magnolia CMS:继承的组件定制的主要内容,如果未能解决你的问题,请参考以下文章

Magnolia CMS:从 JCR 配置中引用 YAML 配置

Magnolia CMS 5.5 全文搜索

在 Magnolia CMS 中创建 Java 模型

Magnolia CMS:扩展对话框并删除给定的继承字段

商店模块无法与 Magnolia CMS 5.4 一起正常工作

如何根据另一个组件的存在有条件地将类添加到 Magnolia 组件模板?