Plone的动态主题
项目描述
简介
使用简单表单更改Plone网站的皮肤,更改基于ATFolder的任何内容的皮肤。
只需上传与皮肤同名的图片(使用tgz或zip格式),以覆盖在css中引用的标准Plone皮肤图片。
可以为每个皮肤添加CSS。
您可以选择覆盖Plone标准CSS的所有部分或仅覆盖某些部分。
您可以使用“幻想皮肤编辑表单”更改Logo、页脚或附注视图。
您可以选择是否显示Plone标准动态视图(搜索框、站点操作等)。
视图配置来自与父对象关联的第一个皮肤。
CSS来自与所有父对象关联的所有皮肤。
如果Plone中安装了Products.FCKeditor,静态视图编辑将更容易使用(使用FCKwidget)。
您可以为每个皮肤添加一个favicon,上传一个favicon.ico文件。
依赖关系
Plone 4.0.x,Plone 4.1.x。
archetypes.schemaextender(用于向标准Plone文件夹添加参考字段)
Products.SmartColorWidget
使用buildout或easy_install时,所有依赖项都会安装。
安装
在产品内部阅读docs/INSTALL.txt,以在您的Zope实例中安装它
然后,在您的Plone站点中,使用portal_quick_installer将其安装到Plone,这将还会安装Products.SmartColorWidget。
常见问题解答
如何制作自己的幻想配置和CSS ?
只需查看aws.minisite包的代码,它是一个完整的示例,将向您展示如何创建新的皮肤架构以及如何覆盖幻想CSS。在aws.minisite中,您还将找到一种使用collective.phantasy的不同策略(不再使用架构扩展字段,而是在创建新的“迷你站点”时,您被邀请选择一个皮肤,该皮肤被复制/粘贴到迷你站点中。然后,迷你站点所有者可以自己更改迷你站点的皮肤。)
路线图
用zope3架构替换架构体的架构体数据(目前没有计划)
变更日志
2.6 (2015-01-19)
覆盖.png图像而不是.gif图像。内容类型使用.png图标而不是.gif(与Plone 4.3兼容)。
2.5 (2014-01-26)
不再使用背景图像为“必需”字段。 [thomasdesvenain]
2.4 (2014-01-15)
保护CSS视图以避免在私有网站上出现站点错误。[thomasdesvenain]
修复了测试。[thomasdesvenain]
添加了buildout和修复测试包依赖项。[laulaz]
与Plone 4.3兼容。[thomasdesvenain]
由于logo位于一个“a”元素中,因此将“p”元素替换为“span”。[thomasdesvenain]
可折叠边框不再由幻想管理。[thomasdesvenain]
修复了内容类型图像图标。[thomasdesvenain]
2.3 (2012-04-11)
修复了事件详细信息边框样式。[thomasdesvenain]
修复:如果未设置背景图像,则不要在CSS中调用标题背景图像。[thomasdesvenain]
为PhantasySkinImage和PhantasySkinFile设置plone.resource规则集以进行缓存。[vincentfretin]
为水平导航设置默认值。[thomasdesvenain]
2.2 (2011-12-02)
我们可以设置标题背景。[thomasdesvenain]
添加一个字段以切换日历工具栏皮肤的覆盖。[thomasdesvenain]
改进了边框自定义。[thomasdesvenain]
添加了全局导航颜色的字段(因此全局导航颜色现在可以与链接和全局背景颜色不同)。[thomasdesvenain]
2.1 (2011-06-30)
修复了实时搜索结果颜色。[thomasdesvenain]
为local_phantasy_skin字段设置languageIndependent=True。[vincentfretin]
我们可以通过上传favicon.ico来添加自定义favicon。[thomasdesvenain]
2.0 (2011-04-28)
非管理员可以在皮肤中导入带有皮肤的文件名。[thomasdesvenain]
添加了工具栏标题颜色和列表标题颜色字段。添加了个人工具的背景和字体颜色。[thomasdesvenain]
在幻想皮肤编辑表单中添加了“应用”按钮。[thomasdesvenain]
添加CSS时,CSS id会自动设置。[thomasdesvenain]
翻译修复。架构已翻译。[thomasdesvenain]
两个配置文件:默认配置文件和具有示例内容的配置文件。[thomasdesvenain]
可以设置buildout,以便ATFolder不可定制。[thomasdesvenain]
错误修复。
与Plone 4.0和4.1兼容(没有3.x向后兼容)。[thomasdesvenain]
删除了嵌入的jQuery。[thomasdesvenain]
1.1
修复了皮肤视图模板中的小型IE错误。
1.0
添加了使用幻想皮肤编辑表单覆盖某些静态视图的能力(如logo、页脚、版权页)
添加了使用幻想皮肤编辑表单隐藏/显示动态视图的能力
ATFolder模式扩展现在使用IBrowserLayerAwareExtender,扩展仅在Plone中安装了collective.phantasy时可用
添加了ISkinnableRoot接口,用于获取实现它的文件夹中的皮肤
移除了对plone.browserlayer的依赖(包含在Plone 3.1中)
重载referencebrowser以避免搜索文件夹式内容类型时的错误
重构以利用i18ndude工具
添加了法语i18n(工作中)
为皮肤添加了屏幕截图字段
添加了视图覆盖(静态和动态)的测试
修复链接类顺序
更改CSS链接(在Plone 3.3+中不再存在图标链接)
简化皮肤视图
0.9
修复了在某些网站使用特定内部风格工作流时的新安全问题。(感谢Kamon Ayeva)
0.8
修复了幻想视图的权限问题:zope.Public更合适:避免在某些情况下出现未授权异常
修复版本为0.8
将setup.py版本与metadata.xml中的元数据同步
修复使用IPython时doctests的问题
修复Manifest.in以避免zip包中docs文件夹的错误
0.7
避免在portal_factory创建皮肤时获取css图像时的acquisition问题,在这种情况下css_url = portal_url
修复上传tgz或zip文件时的css内容类型问题
0.6
Manifest.in在根目录中缺失:修复使用collective.releaser 0.6.1时“python setup.py sdist”的大问题,只发布了“.py”文件
修复与最新ATContentTypes版本不兼容的ATContentTypes AutoOrderSupport导入错误
在PhantasySkinImage内容类型中重载check_id脚本,因为我们希望在经典Plone编辑表单中使用覆盖portal_skins图像的能力
0.5
修复folderskinview.py中的语法错误:Catalog请求损坏
修复了奇怪的Plone行为:当myproperty是一个字符串时,portal_properties.site_properties.getProperty('myproperty')返回'n' + property value + 'n'。我们可能需要做其他事情?
测试已损坏:视图中缺少memoize装饰器
0.4
在viewlet.py中添加了safe_hasattr来测试'getCssfile'属性(避免在罕见情况下出错)
更改'portal_type'目录请求为'object_provides'以获取动态皮肤
Phantasy CSS视图使用比zpt更易读的dtml文件
Phantasy CSS视图使用ResourceRegistries CSSPacker工具
修复了atphantasy模式中的错误:plone-overloads字段不可见
在atphantasy模式中将plone-overloads字段移至底部
修补form_tabbing.js以在编辑表单中实现标准行为(当选项卡数大于6时)
0.3
修复了目录搜索路径搜索项中的错误
修复了当另一个产品修改配置时运行doctests的问题
0.2
在setup.py中添加了所有依赖项,因为SmartColorWidget现在是egg。
在metadata.xml配置文件中添加了Plone产品依赖项
删除了import-steps.xml,在profile.zcml中添加了importSteps处理器
0.1
初始版本
待办事项
等待Deco改进以制作真正酷的产品
目前,所有标准皮肤图像都已通过CSS覆盖,尽管在皮肤中存在这些图像,但除portal_type图标外,因为generated.css在Plone中不再使用。因此,我们必须修补getIcon方法以从幻想皮肤获取这些图标,如果这些图标存在。