我有两个静态html文件,一个是主页设计,另一个是常规页面设计。
我有一个规则来确定使用哪一个,如下所示:
<rules css:if-content="body.section-front-page">
<theme href="home.html" />
</rules>
<rules css:if-not-content="body.section-front-page"
css:if-content=".portaltype-document">
<theme href="index.html" />
</rules>
虽然我现在意识到这两个页面有共同的元素,例如标题。 有没有办法从一个页面或其他东西使用标题,这意味着如果我对htmlt进行更改,它只需要在一个地方完成?另一种询问方式,你可以将设计文件混合在一起吗?
答案 0 :(得分:0)
你需要只有一个主题文件才能做到这一点。
如果您正确设计主题文件,并且主页和其他网站页面模板之间确实有共同元素,那么这应该是非常可能的。
我想这里的设计是关键...以下网站使用一个主题文件,但使用与您的css类似的规则有一个非常不同的主页:if-content =“body.section-front-page”以确定不是例如,显示左右列。
答案 1 :(得分:0)
这是不可能的。
Diazo(版本1.0.4-py2.7)只需加载主题文件(参见diazo.rules.expand_theme(element, theme_doc, absolute_prefix)
)。加载的文件必须具有etree.parse()
格式和AFIK,没有“规则”可嵌入或包含更多文件或代码。
直到现在,我一直试图寻找一种没有成功的解决方法。我的另一个想法是将公共代码作为替换规则包含在内,然后应用其他规则。例如。在你的主题文件中有一个给定的id,并用重氮规则扩展它。这仅在您不需要扩展代码时才有效(请参阅我的问题https://stackoverflow.com/q/21703070/1659599)。
如果您只是在没有进一步替换的情况下添加html文本,那么您可以通过规则添加它。