较旧的Plone网站缺少许多样式表

时间:2011-06-21 14:54:35

标签: plone

我有一个Plone 4网站,它是在3年或4年前创建的,自那以后几乎没有维护。第三方安装了一个我从未满意的主题,但由于似乎没有其他人关心我没注意到。现在我被雇用来更新主题,我发现旧网站的真正问题是许多标准的.css文件都没有包含在内。

当我将主题安装到一个全新的Plone网站时,它看起来不错,但是当我在旧网站上安装它时,例如member.css没有加载。

我可以通过从新网站中的portal_setup导出cssregistry.xml并将其加载到旧网站来修复它,但我宁愿找出原因是什么错误 - 应该安装哪些产品成员的CSS ?看起来它应该是Products.CMFPlone(在我的情况下来自Plone-4.0.7),那么我将如何强制它重新安装其注册表?

[编辑:事实上,我通过转到portal_setup import 并重新导入“样式表注册表”步骤强制它重新安装它的注册表。这打破了我的自定义主题和一些适配器(非常奇怪,那),所以我尝试重新导入所有步骤并打破了一切。好的,这只是一个测试副本!]

2 个答案:

答案 0 :(得分:2)

如果您有一个旧的迁移站点,我会直接进入ZMI并手动修复问题。 member.css从一开始就是Plone核心的一部分。因此,如果没有启用,则有人会对您的旧网站进行手动更改。

通过ZMI修复一个损坏的站点要比编写任何代码或配置文件要容易得多。

在我看来,如果你一直这样做,只编写GenericSetup配置文件是有意义的。因此,不允许通过ZMI或Plone控制面板进行更改。您的策略代码中始终有一个扩展配置文件,它将创建一个与实际站点完全相同的新站点。您为自己的更改编写升级步骤并运行这些步骤,而不是重新应用任何配置文件。您确保仅使用表现良好的加载项并使用升级步骤,或者修复这些加载项以使其正常运行。

但是,如果您希望持续更改站点并针对站点特定配置进行测试,那么所有这些都只会花费时间。如果您生成的一次性站点在部署后不再更改,那么整个开销可能不值得。

答案 1 :(得分:0)

如果您有许多追溯,例如

Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 46, in call_object
Module zope.browserresource.file, line 202, in GET
Module zope.component._api, line 109, in getMultiAdapter
ComponentLookupError: ((<Products.Five.metaclass.DirContainedFileResource17 object at 0xde678ec>,
     <HTTPRequest, URL=http://127.0.0.1:8080/Plone/portal_css/Sunburst%20Theme/++resource++tinymce.stylesheets/tinymce.css>),
     <InterfaceClass zope.browserresource.interfaces.IETag>, u'')

并且在重新导入cssregistry.xml之后,在前景Tracebacks中的布局中断了,如下所示:

2011-10-10 08:42:32 ERROR Zope.SiteErrorLog 1318210952.260.0813518537427      http://127.0.0.1:8080/spirulinea/portal_css/Sunburst%20Theme/member.css
Traceback (innermost last):
Module ZPublisher.Publish, line 115, in publish
Module ZPublisher.BaseRequest, line 516, in traverse
Module ZPublisher.HTTPResponse, line 727, in debugError
NotFound:   Site Error

你可能和我一样陷入了同样的错误 正如在http://tech.groups.yahoo.com/group/zms-developers/message/3674上所说的那样 (对我而言)降级到http://download.zope.org/Zope2/index/2.13.2是关键。

[nota:作为时间,我在Zope的同一个实例上没有遇到任何新问题的新问题,奇怪的是......所以,毕竟可能是你的自定义主题没有被打破]