我有一个带有parsys的组件,我想用它来创建一个有序列表,使用Reference组件。 (即用户将参考comp。拖入parsys然后选择一个段落,在列表中创建项目“1”
但是,在IE8中,创建的列表仅包含1个;它没有增加。
代码很简单:
<ol>
<cq:include path="numbered" resourceType="/libs/foundation/components/parsys"/>
</ol>
我觉得它与代码被重新出现的方式有关:
<ol>
<div class="parsys numbered">
<div class="disclosure-reference parbase section">
<li>
<div class="paragraph_element paragraph-element">
<p>Item 1</p>
</div>
</li>
</div>
<div class="paragraph-element section">
<li>This is a new disclosure</li>
</div>
</div>
</ol>
由于<li>
不直接跟随<ol>
,因此IE8无法正确呈现列表...
对于我如何解决这个问题有什么见解吗?我已尝试将cq:cellName
设置为空白,但这不会删除<div>
<ol>
标记
答案 0 :(得分:1)
对于用于拖放到parsys上的组件,可以使用cq:noDecoration = true的属性。这可以防止元素被div标签包装并接收相关的类字段。
参见此参考: http://dev.day.com/docs/en/cq/current/developing/components.html
如果您使用的是参考组件。您可能必须覆盖或扩展该组件,以便可以添加此值。
答案 1 :(得分:0)
首先,删除来自包含parsys的页面中的<OL>
标记,以及来自所有parsys ITEM代码的<LI>
标记。接下来,我们告诉CQ对于parsys组标记使用<OL>
而不是<div>
,并且对于parsys项标记使用<LI>
而不是<div>
:
<%@page import="com.day.cq.wcm.api.components.IncludeOptions"%>
...
<%-- set the parsys decoration tagname to be an OL --%>
<% IncludeOptions.getOptions(request, true).setDecorationTagName("OL"); %>
<cq:include path="numbered" resourceType="foundation/components/parsys"/>
在每个parsys ITEM代码文件夹中,创建一个_cq_htmlTag.xml文件(或者您可以do the same in crxde):
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="nt:unstructured"
cq:tagName="LI"/>