CQ5使用parsys创建有序列表

时间:2014-01-06 16:45:13

标签: internet-explorer-8 cq5

我有一个带有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>

后面的2个<ol>标记

2 个答案:

答案 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"/>