【发布时间】:2012-09-12 16:11:38
【问题描述】:
我想为 plone 4 产品添加一个简单的样式表。所以我加了
<browser:resourceDirectory
name="groovecubes.portlet.gallery.css"
directory="css"
/>
到 [产品目录]/browser/configure.zcml,我应该启用它以使用以下语法浏览此文件夹中的样式表:++resource++groovcubes.portlet.gallery.css/mycss.css。但事实并非如此。即使在扩建之后也没有。
因此找不到 [product dir]/profiles/default/cssregistry.xml 中的每个声明。我错过了什么?是包名吗?
packages main configure.zcml 包含这一行
<include package=".browser" />
应该执行 browser/configure.zcml
但不是。我粘贴了包configure.zcml和browser/configure.zcml
更新二:
它变得更奇怪了。当我修改browser/configure.zcml 的头部时,当我尝试启动实例时,该文件被识别为格式错误。但是当我修改相关条目时,启动继续正常。
更新三:
我现在已经测试了很多东西,但我发现,.zcml 文件中的任何格式错误的标签都会被 SaxParser 忽略。在我的开发和生产实例(Plone 4.2 / Plone 4.1)上的每个产品中。这可能是我可能错过的新功能吗?
更新四:
已解决:我从browser/configure.zcml 中删除了意外使用相同名称的接口声明。这使我的 .css 可用。但我仍然想知道所描述的解析器行为。
【问题讨论】:
-
只要 mycss.css 在 css 目录中就应该可以工作...
-
看起来不错。仔细检查 zcml 是否真的加载了。最好的方法是故意出错,例如删除关闭的“/>”并重新启动实例。此外,由于您正在开发,请确保通过使用“bin/instance fg”启动实例以调试模式运行实例。正常启动可能会吞下一些错误。
-
只是为了确保:css-dir 位于浏览器中?浏览器中是否存在 init.py 文件? (这里好像过滤了下划线,init.py带下划线...)
-
@IdaEbkes:下划线表示粗体;使用反引号 (`) 表示一段代码或文件名:
__init__.py.
标签: plone