Plone有一个很好的黑客可以消除Zope2附带的无聊的 Zope Quickstart 页面。它改变了这个:
进入这个:
相关代码位于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
呈现相同的模板?
答案 0 :(得分:5)
同一个ZCML文件注册AppTraverser
adapter;此适配器将OFS.interfaces.IApplication
对象调整为IRequest
以拦截遍历。
在IRequest
适配器publishTraverse()
方法中,当遍历index_html
名称时,适配器返回相同的plone-overview
视图:
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)