在siteadmin中创建页面并单击后,如何使该组件立即显示在sidekick中?

时间:2014-03-17 06:48:22

标签: java components cq5

我创建了组件,我希望在siteadmin中创建页面后,在sidekick中显示所需的组件。

可以显示我可以自定义的地方吗?

1 个答案:

答案 0 :(得分:4)

在设计模式中选择允许的组件,是每个模板的一次性活动。 因此,通过选择整个组而不是选择单个组件,我们可以确保在同一组中新创建的组件将自动添加到sidekick中。

还有另外一种方法可以解决这个问题。 您可以将“ updatecomponentlist ”侦听器附加到parsys,然后使用您希望用来填充sidekick中的组件列表的逻辑来完成以下函数。

为此,在您的parsys组件中,创建一个类型为“cq:EditConfig”的节点“cq:editConfig”,然后创建一个类型为“cq:EditListenersConfig”的节点“cq:listeners”作为editConfig节点的子节点。其结构如下所示。

parsys[cq:Component]
    - cq:editConfig[cq:EditConfig]
        - cq:listeners[cq:EditListenerConfig]

在editListenersConfig节点中,添加一个名为“updatecomponentlist”的属性,其值为以下函数。

function MyHandler(cell, allowed, componentList) {
   /*The allowed param holds the array that contains the list of components that 
     are allowed for this parsys.
     You can dynamically modify this array based on your requirements. For ex.
   */
    if(/* some condition */) {
        allowed.push('/apps/geometrixx/components/text');
        allowed.push('/apps/geometrixx/components/image');
    } else {
        allowed.push('/apps/geometrixx/components/list');
        allowed.push('/apps/geometrixx/components/table');
    } 
}

有关实现侦听器的更多信息,请参阅this