我创建了组件,我希望在siteadmin中创建页面后,在sidekick中显示所需的组件。
可以显示我可以自定义的地方吗?
答案 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。