【问题标题】:How to drag and drop a component over other components (other than parsys) in CQ5?如何在 CQ5 中将组件拖放到其他组件(parsys 除外)上?
【发布时间】:2014-05-22 02:47:40
【问题描述】:

我在 CQ5 中创建了一个按钮组件,没有继承现有的按钮组件。现在我想

通过 Sidekick 的拖放方法将此按钮组件放置在另一个自定义横幅组件上。我将横幅组合作为按钮的父级,在横幅中,我将这个按钮放在允许的子级中,并将其作为容器。我还为横幅组件创建了设计对话框,我在允许的组件选项中添加了这个按钮组件。我仍然无法将此按钮拖放到横幅上,因为它位于此横幅的上方或下方,并且横幅本身位于 parsys 内部。如果我通过 jsp 包含该组件,它的工作正常。但我必须通过拖放来完成。

我是 CQ5 的新手,感谢我能得到的任何帮助。提前致谢。

【问题讨论】:

    标签: aem


    【解决方案1】:

    parsys 是组合的基本容器组件。手动将此功能应用到另一个组件中需要相当多的自定义配置。

    如果你查看 /libs/foundation/components/parsys 中的 parsys,你会看到它被属性 cq:isContainer - true 定义为一个容器,它指示 CQ 允许拖放。有多个子节点需要定义等。

    如果您试图仅限制要放入的特定组件,这可能是有道理的,您应该查看图像组件,但是,最好的方法是制作一个包含 parsys 的组件。

    请记住,作者应该能够随心所欲地添加,单个对象不允许这种灵活性。您应该在内容发布之前通过审核流程来处理不良作者活动,而不是在软件级别强制执行。

    希望对您有所帮助。

    【讨论】:

    • 感谢您的回复 Bayani :) 有没有办法使用 EXTJ 将 parsys 动态添加到任何组件?
    • 我不太确定将 parsys 作为 extjs 组件的业务案例是什么? parsys 仅供作者使用,这意味着您将在其中拖放组件。这些组件可能具有进一步的 parsys。如果您的意思是打开和关闭 parsys,那么您将使用对话框中的复选框来执行此操作,并在组件中的 parsys 元素周围加上 if 条件。或许你可以再澄清一点?
    • 正如你所提到的,我只在作者模式下使用它。我的要求是我有一个按钮组件,我应该能够将此按钮组件拖放到一个横幅组件上,该组件的 jsp() 中没有包含 parsys。所以我想在不编辑jsp文件的情况下动态添加parsys。
    • 好吧,我想说你的横幅组件实际上是一个容器,因为它可以包含按钮。最好使用的容器是 parsys,它可以被限制为只接受按钮组件。我会质疑这个要求。希望对您有所帮助。
    【解决方案2】:

    拖放功能仅在 Parsys 或 IParsys 上可用。因此,要满足您的要求,您需要在横幅组件中包含 parsys。 如果你想限制banner parsys允许按钮组件,请使用设计配置并在按钮的parsys中选择按钮组件

    【讨论】:

    • 感谢 Mohit .. 我希望这样 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 2017-11-22
    相关资源
    最近更新 更多