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"
/>
Run Code Online (Sandbox Code Playgroud)
这解释了为什么http://localhost:8080/plone-overview渲染plone-overview模板,但为什么/如何应用程序root,即http://localhost:8080呈现相同的模板?
同一个ZCML文件注册一个AppTraverser适配器 ; 此适配器调整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)
Run Code Online (Sandbox Code Playgroud)
请参阅AppTraverser类定义.
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |