Adobe 克隆parsys组件功能

Adobe 克隆parsys组件功能,adobe,aem,Adobe,Aem,我希望使用组件libs/foundation/components/parsys/colctrl/…并修改其文本,以便将其用于css选项卡。我将其重新创建为apps/-site-/components/content/tabsys/(及其所有子文件夹/组件/等。我唯一没有更改的是tabsys/tabctrl/virtual/2tabs/cq:editConfig/cq:formParameters(3tabs/也一样): 在sidekick中,我现在有一个选项卡组件选项,选项与列相同。但是,当我

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


在sidekick中,我现在有一个选项卡组件选项,选项与列相同。但是,当我将任何选项卡拖动到内容区域时,我没有任何边框内容区域可以将内容片段拖动到其中;只有编辑/删除/新建栏。当我单击编辑时,我应该有一个下拉列表,显示我想要的列数(Columns组件将其作为参考)。我缺少什么?

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

在您的示例中,tabctrl应具有对超级类型的引用:

  sling:resourceSuperType = "foundation/components/parsys/colctrl"
其次,如果将
tabctrl
重命名为
colctrl
,则段落系统将尝试根据布局属性第一部分中指定的编号解析列,并为每个列创建额外的内容节点


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

您是重新创建还是复制了它?通常,节点类型是一个重要且被忽略的方面-如果它们是错误的类型,则可能会导致行为不正常。我复制了它并相应地更改了标题/说明。您可以尝试将?debug=布局添加到页面url中;它会提供有关页面中每个资源和类型的信息。这可能会导致你有一个有用的线索。
  private String colCtrlSuffix = "/colctrl";
  if (res.getResourceType().endsWith(this.colCtrlSuffix)) { /*creates columns*/ }
  sling:resourceSuperType = "foundation/components/parsys/colctrl"