AEM中currentstyle与currentdesign的区别

时间:2016-07-22 09:04:01

标签: aem

在AEM中说 - 在模板/组件中包含标签后,currentstyle和currentdesign对象之间的确切概念差异是什么?

2 个答案:

答案 0 :(得分:2)

currentStyle的类型为com.day.cq.wcm.api.designer.Style(1),而currentDesigncom.day.cq.wcm.api.designer.Design(2)的实例。

Design对象包含有关当前对象使用的设计的信息,大部分时间是在页面模板的cq:designPath属性中设置的。

如果您拥有Design对象,则可以从中获取每个包含Style(3)的Cell个对象。另一方面,如果您拥有Design,则可以获得周围的Style

因此Design类似于包含Style中使用的Cell的容器对象。

在这条路上

/etc/designs/geometrixx/jcr:content/page/image

imageCell,设计路径为/etc/designs/geometrixxStyle对象附加的Cell对象有两个属性:{{1} }和maxHeight

see screenshot

(1):https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/index.html?com/day/cq/wcm/api/designer/Design.html

(2):https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/index.html?com/day/cq/wcm/api/designer/Style.html

(3):https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/index.html?com/day/cq/wcm/api/designer/Cell.html

答案 1 :(得分:2)

只是为已经在这里的内容添加一些说明:

全局内容(即,在同一模板的多个实例中通用的组件值)存储为"样式"并通过"设计对话框进行编辑"。

它们存储如下:

def get_value3(hash, path)
  path.split('.').inject(hash) { |hash, x| hash[x] }
end

get_value3(contact, 'Account.Team.Record')   # => 1234

因此,对于模板/etc/designs/<design>/jcr:content/<template>/<component> 中的组件logo,使用homepage设计:

  • defaultcurrentStyle
  • /etc/designs/default/jcr:content/homepage/logocurrentDesign