我需要使用Diazo清单参数修改一些样式颜色。

我的想法是做这样的事情:

    <after css:theme-children="html body">
        <style>
            body {
                background-color:<xsl:value-of select="$body_background_color" />;
            }
        </style>
    </after>


哪个返回此错误:

    runtime error, element 'variable' [190:0]
    XSLT-variable: Redefinition of variable 'tag_text'. [0:0]


我可以在没有变量的情况下使其工作:

    <after css:theme-children="html body">
        <style>
            body {
                background-color:red;
            }
        </style>
    </after>


而且我可以在类似情况下使用变量:

    <after css:theme-children="html body">
        <div style="background-color:{$body_background_color};">
            blah
        </div>
    </after>


但是我不能将所有内容放在一起。

任何人都可以帮助解决错误或为我提供其他解决方案?

最佳答案

我在https://github.com/quintagroup/quintagroup.theme.sunrain/blob/master/quintagroup/theme/sunrain/static/tune.xml的Quintagroup主题中找到了解决方案

<after theme-children="/html/head/style">
    body {
      background-color: <xsl:value-of select="$body_background_color" />;
    }
</after>


这会将我的CSS代码添加到标题中现有样式标签的末尾。

关于css - 如何使用Diazo list 参数(XSL)设置背景色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23764728/

10-11 00:11