在AEM中说 - 在模板/组件中包含标签后,currentstyle和currentdesign对象之间的确切概念差异是什么?
答案 0 :(得分:2)
currentStyle
的类型为com.day.cq.wcm.api.designer.Style
(1),而currentDesign
是com.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
image
是Cell
,设计路径为/etc/designs/geometrixx
,Style
对象附加的Cell
对象有两个属性:{{1} }和maxHeight
。
(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
设计:
default
是currentStyle
/etc/designs/default/jcr:content/homepage/logo
是currentDesign