我目前正在为Adobe CQ5中的网站创建CMS。要求的组件之一是为菜单提供自定义导航组件。用户可以输入一系列特定于该页面的链接和网址。
踢球者是他们需要能够与其他几个页面共享此菜单(但不是全部,通常这将是同一文件夹中的其他页面)。在他们自己的页面组之间也会有几个不同的菜单。
所以我想问题是,一个菜单编辑一次并且更改反映在多个页面上的最简单方法是什么?
答案 0 :(得分:0)
一种选择是创建“数据”组件 - 即用于创作数据实例的组件。每个数据实例都包含菜单数据,并允许作者更改菜单数据。然后创建第二个组件,该组件是数据的使用者 - 即引用现有数据组件实例并呈现数据的组件。然后,您可以根据需要创建相同的菜单数据,如果底层菜单数据实例发生更改,则会影响所有页面。
您可以考虑构建“数据”实例,以便在单独的内容区域中创建它们,您可能希望以不同于普通内容页面的方式查看它们,如果您需要控制谁可以进行更改,则可能具有不同的创作权限到菜单。这样也可以更容易地连接起来,以便作者可以选择现有的数据实例用于他们的消费者组件。
答案 1 :(得分:0)
另一种选择是使该组件从其父级“继承”。为此,您可以在对话框中添加一个复选框,指示组件是否应该从其父级继承。如果是这样,您的组件代码可以爬行树,在父页面上查找导航组件并在找到时加载它。如果不是,组件只能从当前资源加载数据。
这将允许您创建任意数量的单独导航组,并允许内容作者编辑导航,而无需转到另一个配置区域,这可能会破坏编辑体验。
答案 2 :(得分:0)
创建一个页面组件,您可以在其中包含iparsys的菜单组件,并在子页面(特定模板)组件上继承该页面。当您在菜单组件中进行任何更改时,它将反映到所有页面。