对一系列parsys-CQ施加组件限制

时间:2015-06-05 05:07:50

标签: xml components cq5 aem

我的页面页脚中有一系列的解析。同时,我想通过etc / designs / projectname / content.xml对所有这些实施组件限制。这是这样的:

JSP:

    <c:forEach var="i" begin="0" end="${properties.numberOfFooterLinks-1}">
      <div class="small-6 medium-4 large-2 columns">
          <cq:include path="./footerPar${i}"            
                   resourceType="foundation/components/parsys" />
      </div>
    </c:forEach>

XML:

<footer jcr:primaryType="nt:unstructured">
 <footerPar0 jcr:primaryType="nt:unstructured"
            sling:resourceType="foundation/components/parsys"
                 components="[group:footerComp]">
  <section jcr:primaryType="nt:unstructured"/>
  </footerPar0>
</footer>

这仅适用于parsys footerPar0,但不适用于其余部分(footerPar1,footerPar2等)。我无法实现这一目标。有没有办法实现它而不重复解析的名称直到循环计数结束?感谢。

1 个答案:

答案 0 :(得分:0)

我也没有找到一种优雅的方式来做到这一点。一种解决方案是使用JavaScript监听器动态删除允许的组件。添加回您想要允许的组件。

E.g。在>>> where(mydict, {'year': 1611, 'author': "author 1"}) [{'author': 'author 1', 'year': 1611, 'title': 'title 1'}, {'author': 'author 1', 'year': 1611, 'title': 'title 3'}] 下覆盖自己的解析,添加/apps/foundation/components/parsys,如:

_cq_editConfig.xml

显然这是非常深远的,因为侦听器正在影响所有的parsys实例(尽管在函数中按名称定位footerPar。)

如果您还没有这些字段中的实时内容,您可以创建自己的资源类型,使用parsys作为超类型,以获得更好的控制级别。