克隆解析组件功能

时间:2012-03-20 20:32:58

标签: adobe cq5

我希望获取组件 libs / foundation / components / parsys / colctrl /...并修改其文本,以便我可以将其用于css选项卡。我将其重新创建为 apps / -site- / components / content / tabsys / (以及所有它的子文件夹/组件/等。我唯一没有改变的是 tabsys / tabctrl / virtual / 2tabs / cq:editConfig / cq:formParameters (同样适用于3tabs /):

sling:resourceType = foundation/components/parsys/colctrl
layout = 2;cq-colctrl-lt0

在sidekick中我现在有一个Tabs组件选项,其选项与Columns相同。但是,当我将任何标签拖动到内容区域时,我没有得到任何边框内容区域来拖动内容片段;只有编辑/删除/新栏。当我单击编辑时,我应该有一个我想要的列数下拉列表(列组件有它供参考)。我错过了什么?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,其原因似乎是,如果内容节点的sling:resourceType,则parsys组件使用的ParagraphSystem类仅解析/生成列/容器/ em>以“/ colctrl”结尾。

  private String colCtrlSuffix = "/colctrl";
  if (res.getResourceType().endsWith(this.colCtrlSuffix)) { /*creates columns*/ }

在您的示例中,tabctrl应该引用Super类型:

  sling:resourceSuperType = "foundation/components/parsys/colctrl"

其次,如果将tabctrl重命名为colctrl,则ParagraphSystem将尝试根据layout属性第一部分中指定的数量解析列,并为每列创建其他内容节点。

如果ParagraphSystem类查找“-colctrl”而不是“/ colctrl”,它将允许自定义组件,如“my-colctrl”。相反,我想我们需要使用文件夹来避免命名冲突。 (即apps / -site- / components / content / tabsys / colctrl)