getSectionFromURL.py现在在Plone 4中折旧

时间:2011-12-09 16:52:57

标签: plone

我正在阅读2011年10月的Weblion Sprint:

"然而,由于getSectionFromURL.py现在在Plone 4中被折旧,因此在根目录下的主题文件夹被证明有些问题。"

来源:https://weblion.tlt.psu.edu/FogBugz/default.asp?pg=pgWikiDiff&ixWikiPage=944&nRevision1=1

我一直在Plone 3中使用过这个。有没有人知道" easy"在Plone 4中定位子文件夹的方法?

3 个答案:

答案 0 :(得分:1)

部分正文类仍然被赋予文件夹ID,它只是不再使用getSectionFromURL方法来执行此操作,它使用:

plone_view.bodyClass(template, view)

并获取plone_view

plone_view context/@@plone

答案 1 :(得分:0)

使用默认的sunburst主题你只能获得body.section-chinese(顶级文件夹plone / chinese / calendar)以及body标签上的其他一些类:

  • template-document-view(对于当前使用的模板或视图)
  • portaltype-document(用于当前上下文的内容类型)

如果这个信息不足以让您正确设置日历样式,则需要

a)编写您自己的@@ plone视图(对于您的皮肤图层),它会添加您之前在getSectionFromURL方法中的功能或

b)仍然使用旧的getSectionFromURL脚本并相应地调整main_template

答案 2 :(得分:0)

您可以根据http://www.uwosh.edu/ploneprojects/docs/how-tos/how-to-make-plone-generate-.section-css-classes

自定义getSectionFromURL

自定义'getSectionFromURL'(来自plone_scripts)

编辑最后一行:

 return "section-" + contentPath[0]

为:

 return " ".join(["section-" + "-".join(contentPath[:d+1]) for d in range(len(contentPath))])

然后通过更改行

来自定义main_template
              body_class python:plone_view.bodyClass(template, view);

              body_class here/getSectionFromURL;