2

我正在尝试使用 Diazoreplaceattributes规则替换一些 CSS 样式,但到目前为止我还没有弄清楚。

到目前为止,我已经成功地使用了重氮replace, copy, before, after,drop规则css:content, css:theme,css:content-childrencss:theme-children

我当前的标记基于 Twitter Bootstrap 3.0,如下所示:

<div class="container">
    <div class="row">
        <div id="content" class="col-md--8 well">
            <p>Plone content here</p>
        </div>
    </div>
</div>

使用drop规则我可以​​从我的类中删除#content

<drop attributes="class" css:theme="#theme"/>

但我不知道如何添加 css 类col-12col-12在我的主题中的任何地方都不存在。到目前为止,我已经尝试了以下规则:

<replace attributes="class col-12" css:theme="#theme"/>
<replace attributes="col-12" css:theme="#theme"/>

我确实有一个从 Plone 复制链接的copy规则示例:href#portal-logo

<copy attributes="href" css:content="#portal-logo" css:theme="#logo" />

我觉得我很接近,我所需要的只是一个类似的例子。我一直在查看基本语法的 Diazo 文档,但还没有弄清楚这一点。

任何帮助将不胜感激,如果我在得到回复之前弄清楚这一点,我会更新我的问题

谢谢。

4

2 回答 2

6

通常我使用这个规则将旭日形网格“映射”到 bootstrap(2) 中:

<replace content="//div[contains(@class,'cell')]/@class">
<xsl:attribute name="class">
<xsl:if test='contains(current(),"width-3:4")'>span9</xsl:if>
<xsl:if test='contains(current(),"width-2:3")'>span8</xsl:if>
<xsl:if test='contains(current(),"width-1:2")'>span6</xsl:if>
<xsl:if test='contains(current(),"width-1:3")'>span4</xsl:if>
<xsl:if test='contains(current(),"width-1:4")'>span3</xsl:if>
<xsl:if test='contains(current(),"width-full")'>span12</xsl:if>
</xsl:attribute>
</replace>

希望这有帮助。

维托

于 2013-10-19T05:44:00.137 回答
0

我使用了如下语法:

<replace content="//div[@class='row']">
    <xsl:attribute name="class"><xsl:value-of select="."/> col-12</xsl:attribute>
</replace>

向元素添加类。

这应该将类col-12(并保留现有row类)添加到内容中具有类的所有divs 中row

于 2013-11-05T17:35:58.960 回答