gpt4 book ai didi

plone - Zope2 应用程序根目录(在 Plone 中)中的 plone-overview.pt 模板是如何呈现的?

转载 作者:行者123 更新时间:2023-12-01 11:44:18 25 4
gpt4 key购买 nike

Plone有一个很好的 hack 可以消除 Zope2 附带的无聊的 Zope Quickstart 页面。它改变了这一点:

enter image description here

进入这个:

enter image description here

相关代码位于Products/CMFPlone/browser/admin.zcml(https://github.com/plone/Products.CMFPlone/blob/master/Products/CMFPlone/browser/admin.zcml#L35):

  <browser:page
for="OFS.interfaces.IApplication"
name="plone-overview"
class=".admin.Overview"
permission="zope.Public"
template="templates/plone-overview.pt"
/>

这就解释了为什么 http://localhost:8080/plone-overview 呈现 plone-overview 模板,但是为什么/如何应用程序根,即 http://localhost: 8080 渲染相同的模板?

最佳答案

同一个 ZCML 文件注册了一个 AppTraverser adapter ;此适配器将 OFS.interfaces.IApplication 对象适配为 IRequest 以拦截遍历。

IRequest适配器publishTraverse()方法中,当遍历index_html名称时,适配器返回相同的plone -概览 View :

def publishTraverse(self, request, name):
if name == 'index_html':
view = queryMultiAdapter((self.context, request),
Interface, 'plone-overview')
if view is not None:
return view
return DefaultPublishTraverse.publishTraverse(self, request, name)

参见 AppTraverser class definition .

关于plone - Zope2 应用程序根目录(在 Plone 中)中的 plone-overview.pt 模板是如何呈现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16781786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com