0

我目前正在为 Adob​​e CQ5 中的网站创建 CMS。要求的组件之一是为菜单提供自定义导航组件。用户将能够输入特定于该页面的一系列链接和 URL。

关键是他们需要能够与其他几个页面共享此菜单(但不是全部,通常这将是同一文件夹中的其他页面)。还将有几个不同的菜单,每个菜单在它们自己的页面组之间共享。

所以我想问题是,让一个菜单编辑一次并且更改反映在多个页面上的最简单方法是什么?

4

3 回答 3

0

一种选择是创建一个“数据”组件——即用于创作数据实例的组件。每个数据实例将包含菜单数据并允许作者更改菜单数据。然后创建第二个组件,它是数据的消费者——即引用现有数据组件实例并呈现数据的组件。然后,您可以根据需要让尽可能多的页面呈现相同的菜单数据,并且如果底层菜单数据实例发生更改,它将影响所有页面。

您可能会考虑构建您的“数据”实例,以便它们将在单独的内容区域中创建,您可能希望以不同于普通内容页面的方式查看,并且如果您需要控制谁可以更改菜单,则可能具有不同的创作权限. 这也将使连接起来更容易,因此作者可以选择一个现有的数据实例来用于他们的消费者组件。

于 2013-04-03T15:39:46.700 回答
0

另一种选择是使该组件从其父组件“继承”。为此,您可以在对话框中添加一个复选框,以指示组件是否应该或不应该从其父级继承。如果是这样,您的组件代码可以爬上树来寻找父页面上的导航组件并在找到时加载它。如果不是,组件只能从其当前资源加载数据。

这将允许您创建任意数量的单独导航组,并允许内容作者编辑导航,而无需转到另一个配置区域,这可能会破坏编辑体验。

于 2013-04-04T11:50:37.260 回答
0

创建一个页面组件,您可以在其中通过 iparsys 包含您的菜单组件,并在您的子页面(针对特定模板)组件上继承该页面。当您对菜单组件进行任何更改时,它将反映到所有页面。

于 2014-02-06T12:12:34.340 回答