在我的Plone插件中包括CSS文件

在我的Plone插件中包括CSS文件,plone,Plone,我想给plone 4产品添加一个简单的样式表。因此我补充说 <browser:resourceDirectory name="groovecubes.portlet.gallery.css" directory="css" /> 到[product dir]/browser/configure.zcml,这将使我能够使用以下语法浏览此文件夹中的样式表:++resource++groovecubes.portlet.gallery.css/mycss.cs

我想给plone 4产品添加一个简单的样式表。因此我补充说

<browser:resourceDirectory
    name="groovecubes.portlet.gallery.css"
    directory="css"
    />

到[product dir]/browser/configure.zcml,这将使我能够使用以下语法浏览此文件夹中的样式表:++resource++groovecubes.portlet.gallery.css/mycss.css。但事实并非如此。甚至在一次建筑之后也没有

因此,[product dir]/profiles/default/cssregistry.xml中的每个声明都找不到。我错过了什么?是包裹名吗

packages main configure.zcml包含以下行

 <include package=".browser" />

哪个应该执行browser/configure.zcml

但事实并非如此。我把包裹贴好,然后

更新二:

更奇怪的是。当我修改
browser/configure.zcml
的头部时,当我尝试启动实例时,该文件被识别为格式错误。但当我修改相关条目时,启动将继续正常进行

更新三:

我现在已经测试了各种东西,但我发现,
.zcml
文件中的任何格式错误的标记都会被SaxParser忽略。在我的开发和生产实例上的每个产品中(Plone 4.2/Plone 4.1)。这可能是我错过的新功能吗

更新四:


已解决:我从
browser/configure.zcml
中删除了意外使用相同名称的接口声明。这使得我的.css可用。但是我仍然对所描述的解析器行为感到好奇。

您声明了名称
groovecubes.portlet.gallery.css
,但尝试以
++resource++groovecubes.portlet.gallery
的形式访问它(注意这里缺少的
.css

使用
++resource++groovecubes.portlet.gallery.css/mycss.css
或从
资源目录
注册中删除
.css
部分


如果这只是一个输入错误,请检查ZCML文件是否正在实际加载;如果名称匹配,注册本身就可以了。

这只是问题中的一个输入错误。抱歉,我已经纠正了,但这不是问题的原因。只要mycss.css在css目录中,它就可以工作…看起来不错。再次检查zcml是否已真正加载。要做到这一点,最好的方法是故意出错,例如删除关闭的“/>”,然后重新启动实例。此外,由于您正在开发,请确保以“bin/instance fg”启动实例,以调试模式运行该实例。正常启动可能会吞下一些错误。只是为了确保:css目录位于浏览器中?浏览器中是否存在init.py文件?(下划线似乎在这里被过滤,init.py带有下划线…@IdaEbkes:下划线表示粗体;使用反勾号(`)表示一段代码,或使用文件名:
\uuuu init\uuuuu.py