Personal tools
You are here: Home Plone 教程 DIYPloneStyle: 为plone2.1创建定制外观 注册样式表

注册样式表

Document Actions
对资源注册表的最佳使用。

chenq

本指南将会教会你,如何以DIYPloneStyle为基础,为plone2.1创建一个定制的样式产品,它将利用新的资源注册表机制来注册资源,并向门户添加一个皮肤选择项。 (声明:本指南英文版权归原作者所有,中文译文归"润普公司"(http://www.zopechina.com)所有,未经允许不得用于商业用途)
Page 7 of 9.

资源注册表内建到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.pySTYLESHEETS声明中,像下面这样声明您的样式表:

   {'id': 'diystylesheet.css', 'expression':'portal/portal_membership/isAnonymousUser'},

by chenq — last modified 2005-11-14 20:43
Contributors: 原作:david convent, 翻译:陈穹
GFDL

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: