如何限制组件仅出现在特定路径(或特定网站)中?
这是dialog.xml定义:
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0"
xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:Component"
jcr:title="My Custom Component"
allowedParents="[*/parsys]"
allowedPaths="/content/[a-z0-9]{2,5}/[a-z]{2}(_[a-zA-Z]{2})?(/.*)?"
componentGroup="Grundfos-Responsive"
/>
我的目标是能够在路径
下添加组件/content/racs/....
只。请注意/content/racs/...
是我们网站的相对路径。
我试过这个:
allowedPaths="/content/racs/[a-z]{2}(_[a-zA-Z]{2})?(/.*)?"
但它不起作用。
我也试过allowedParents
allowedParents="/content/racs/[*/parsys]"
但它也没有用。
我想仅在此路径下添加组件:
/content/racs/....
答案 0 :(得分:0)
首先,组件定义位于 .content.xml 中,而不是 dialog.xml 。
第二 - 您无法以与限制模板类似的方式限制组件展示位置。从this link开始,您可以确定该组件没有此类属性。
第三 - 我们可以做的是使用Disign Mode限制SideKick中的组件外观。请检查this answer以查看此方法的详细信息。答案的一些摘录:
在CRXDE中,在
/etc/designs/[your design]/jcr:content
下,您可以定义节点来表示每个模板&amp;他们的段落&amp;列出每个允许的组件。
...
然后,parsys节点有一个sling:resourceType定义的foundation / components / parsys和一个components属性的String []。例如,查看Geometrixx的定义方式:http://localhost:4502/crx/de/index.jsp#/etc/designs/geometrixx/jcr%3Acontent/contentpage/par
另外there您可以通过用户界面检查如何操作。
答案 1 :(得分:-1)
您可以尝试此操作来限制组件出现在特定网站中:
allowedPaths="[/content/racs(/.*)?]"