使用来自其他站点的 AEM 组件
Use an AEM component from another site
我有一个服务于多个站点的 AEM 实例。一个站点正在使用一个组件。我想在另一个网站上使用这个组件。我不想将组件文件复制并粘贴到第二个站点并像那样拆分代码库。有谁知道在另一个站点上使用此组件的方法吗?
您通常可以在任何网站上使用每个组件。如果您还有多个项目(或 /apps 中的多个文件夹),则有多种方法可以组织您的依赖项。
如果您计划对某些重用组件进行一些特定于项目的更改,请确保使用继承 (resourcecSuperType) 和包装器组件。
为了拥有一个干净的依赖层次结构,将多个项目中使用的组件提取到 "base" 或 "foundation" 项目中可能也很有用。
看看wcm core and we-retail。 We-retail 正在重用 wcm 核心组件。
HTH.
假设您有两个网站 site1
和 site2
。 site1
的组件将在组件组 Group1
中,而 site2
的组件将在组件组 Group2
.
中
使用组件组(最快和最脏)
您需要做的就是将 Group2 组件组添加到您要使用的 site1 组件。
Using policies(不那么快和肮脏)
在 site2
的页面模板中,定义允许作者使用来自组件组 Group2
的组件以及来自 Group1
的任何选定组件的策略
Using inheritence(性感)
如Oliver所述,提取共享组件并将它们放在第三个站点(例如:sitecore
、siteshare
或类似内容)。本网站用于组织您的组件,而不是用于添加和发布内容。
然后在 site1
和 site2
中,使用 sling:resourceSuperType
属性 创建仅引用 sitecore
中的组件的组件。您的 site1
和 site2
组件将继承引用组件的所有属性和编辑对话框。
如果您想覆盖继承组件的 cq:dialog
或 CSS
,您也可以这样做,让每个站点的外观或行为略有不同。
我有一个服务于多个站点的 AEM 实例。一个站点正在使用一个组件。我想在另一个网站上使用这个组件。我不想将组件文件复制并粘贴到第二个站点并像那样拆分代码库。有谁知道在另一个站点上使用此组件的方法吗?
您通常可以在任何网站上使用每个组件。如果您还有多个项目(或 /apps 中的多个文件夹),则有多种方法可以组织您的依赖项。
如果您计划对某些重用组件进行一些特定于项目的更改,请确保使用继承 (resourcecSuperType) 和包装器组件。 为了拥有一个干净的依赖层次结构,将多个项目中使用的组件提取到 "base" 或 "foundation" 项目中可能也很有用。
看看wcm core and we-retail。 We-retail 正在重用 wcm 核心组件。
HTH.
假设您有两个网站 site1
和 site2
。 site1
的组件将在组件组 Group1
中,而 site2
的组件将在组件组 Group2
.
使用组件组(最快和最脏)
您需要做的就是将 Group2 组件组添加到您要使用的 site1 组件。
Using policies(不那么快和肮脏)
在 site2
的页面模板中,定义允许作者使用来自组件组 Group2
的组件以及来自 Group1
Using inheritence(性感)
如Oliver所述,提取共享组件并将它们放在第三个站点(例如:sitecore
、siteshare
或类似内容)。本网站用于组织您的组件,而不是用于添加和发布内容。
然后在 site1
和 site2
中,使用 sling:resourceSuperType
属性 创建仅引用 sitecore
中的组件的组件。您的 site1
和 site2
组件将继承引用组件的所有属性和编辑对话框。
如果您想覆盖继承组件的 cq:dialog
或 CSS
,您也可以这样做,让每个站点的外观或行为略有不同。