我知道在同一个页面/组件中包含具有相同路径的解析会导致创作问题。
<cq:include path="par" resourceType="/apps/myproj/components/layout/parsys" />
<cq:include path="par" resourceType="/apps/myproj/components/layout/parsys" />
但我有一种情况,我被迫这样做。 我实际上是使用像
这样的变量参数来管理路径名 <cq:include path="${tabs.nodeName}"
resourceType="/apps/myproj/components/layout/parsys" />
这是在forEach中迭代,每次迭代后 tabs.nodeName 的值都会发生变化。
但是这个循环本身被复制了两次,一次是桌面类的桌面视图,另一次是移动css类的移动视图。
所以最后,我最终得到了两个cq:includes
一个用于桌面另一个用于移动
<cq:include path="${tabs.nodeName}"
resourceType="/apps/myproj/components/layout/parsys" />
<cq:include path="${tabs.nodeName}"
resourceType="/apps/myproj/components/layout/parsys" />
如何解决此问题?
答案 0 :(得分:0)
您可以添加范围标识符并将其用作路径的附加元素。如果您不了解上下文,它可以是语义(桌面/移动)或只是数字(从零开始,在每一步增加)
<c:set var="context" value="desktop"/>
<cq:include path="${tabs.nodeName}-${context}"
resourceType="/apps/myproj/components/layout/parsys" />
答案 1 :(得分:0)
我建议在编辑/设计模式下不渲染移动段落系统,或者在制作段落系统的移动渲染时将WCMMode设置为disabled
。通过这种方式,您可以保留创作一次并使用两次而不会破坏创作界面的能力。