注册样式表
对资源注册表的最佳使用。
在资源注册表内建到Plone之前,要重载Plone默认的CSS规则,唯一的办法就是定制 base_properties.props以及ploneCustom.css这两个文件。
正因为这样,确定需要重载Plone的某些内容,需要我们关注Skins Tool中层的遍历顺序,或者通过设置Zope不太漂亮的Access Rules工具。
就像我们在前一章中看到的,我们仍然得使用base_properties.props来定义我们的基本图形化设置。
但是现在我们能够用CSS工具注册样式表了,ploneCustom.css仅仅保留为向后兼容目的。
没有资源注册表的Plone还有另一个限制就是,没有办法添加条件来决定是否一个样式表应该被载入。
在DIYPloneStyle中,样式表注册是用config.py来设置的,在STYLESHEETS声明中。STYLESHEETS是一个python字典的元组,其中每个字典对应于一个被portal_css工具注册的样式表。
如果您需要在一个样式表上放置一个条件,您得向它对应的字典添加一个expression关键字。其值是一个TAL表达式,它的工作方式与动作(actions)在portal_actions工具中一致。
您能够从STYLESHEETS的内联注释中学到更多样式表属性(字典键)
实践示例
一个非常常见的用例就是要为公开匿名访问定义一个皮肤,同时为成员访问保持一个基本的plone风格。
要实现这个用例,最容易的方式就是在产品特定的样式表上放置一个条件。
在config.py的STYLESHEETS声明中,像下面这样声明您的样式表:
{'id': 'diystylesheet.css', 'expression':'portal/portal_membership/isAnonymousUser'},


Plone从无到有教程
中文 Archetypes 范例教程 - 范例源码1
常见问题
DIYPloneStyle初始安装的屏幕快照