【问题标题】:Including CSS File in my Plone add-on在我的 Plone 插件中包含 CSS 文件
【发布时间】: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


【解决方案1】:

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

使用++resource++groovecubes.portlet.gallery.css/mycss.css 或从resourceDirectory 注册中删除.css 部分。

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

【讨论】:

  • 这只是问题中的一个错字。抱歉,我更正了,但这不是导致问题的原因。
猜你喜欢
  • 2019-10-07
  • 1970-01-01
  • 2011-04-15
  • 2018-01-03
  • 2011-03-19
  • 2023-03-06
  • 2021-10-31
  • 2015-04-17
  • 2019-12-06
相关资源
最近更新 更多