我正在尝试使用plone.app.theming(重氮)动态更改每个页面上的样式,但Plone的首页。
到目前为止,我拼凑了这个,但它打破了我的主题:
<replace css:content="#some-div" if-path="not(body.section-front-page)"
<style type="text/css">
#some-div { margin: 0 2.25em }
</style>
</replace>
任何关于如何编写组合if-not路径和动态修改样式的帮助都将不胜感激! 添加了缺少的结束标记,仍然无效。
答案 0 :(得分:3)
对我来说,看起来你的rules.xml文件中有几个错误。
a)替换需要内容和主题属性。 见http://docs.diazo.org/en/latest/basic.html#replace
b)您通常不会将css放入rules.xml文件中。以及上面插入的方式不起作用
c)if-path条件适用于url的部分内容。而你正在测试身体的某一类。 你宁愿选择其中一个
if-path="/front-page"
if-content="body.section-front-page"
(见http://docs.diazo.org/en/latest/advanced.html#conditions-based-on-paths)
最好的起点是浏览文档 http://pypi.python.org/pypi/plone.app.theming
下载plone.org上的一个重氮主题作为模板 http://plone.org/products?getCategories=themes&getCompatibility=Plone+4.1&SearchableText=diazo
上查找不同的规则答案 1 :(得分:1)
我不认为Diazo是解决此问题的正确工具,请尝试以下CSS:
#some-div { margin: 0 2.25em }
body.section-front-page #some-div { margin: 0 }
Plone的css课程的优点在于,它允许您为整个网站编写单个CSS文件,同时仍然针对特定部分的规则。
答案 2 :(得分:0)
假设您的首页是带有“首页”ID的文档,那么您可以这样做:
<?xml version="1.0" encoding="UTF-8"?>
<rules
xmlns="http://namespaces.plone.org/diazo"
xmlns:css="http://namespaces.plone.org/diazo/css">
<rules css:if-content="body.section-front-page.template-document_view)">
<!-- here you put rules for the front page only -->
</rules>
<rules css:if-content="body:not(.section-front-page.template-document_view)">
<after css:content-children="head">
<style>
#some-div { margin: 0 2.25em; }
</style>
</after>
</rules>
</rules>
指定.template-document_view可帮助您不要在家中使用@@ manage-portlets屏幕进行加密。