2011-09-28 38 views
2

我不知道是否有人见过这个:浏览器视图ZCML返回404

我有以下ZCML:

<browser:page 
    for="*" 
    name="workflow_action" 
    class=".bika_listing.WorkflowAction" 
    permission="zope.Public" 
/> 

当我试图访问siteroot/workflow_action,Plone的告诉我“这个页面似乎不存在...”

正在读取ZCML - 如果我在ZCML中导致错误,Plone无法启动。

我试过了=“Products.CMFPlone.interfaces.IPloneSiteRoot”,结果相同。

WorkflowAction中的代码根本没有被调用 - 如果我将pdb放在__call__中,它不会触发。

我有不同的情况下,其做工精细,并期待这样的两个类似的ZCML定义:

<browser:page 
    for="bika.lims.interfaces.IAnalysisRequest" 
    name="workflow_action" 
    class=".analysisrequest.WorkflowAction" 
    permission="zope.Public" 
/> 

如果我删除这些意见,留下与NAME =“workflow_action”系统中只有一个视图,(IPloneSiteRoot或“*”),结果是一样的。

这看起来像一个非常简单的视图 - 我不知道我可以放在这里的其他信息?

使用Plone 4.0.7。

它一定是我!?

回答

3

很可能您的浏览器视图在__init__()方法中引发了异常,因此该例外被忽略并且从不显示,结果通常是404错误。

+0

我不敢相信我没有看到它。 – Campbell

0

在私有状态文件夹中添加一个Solgema.NavigationPortlet portlet时,我遇到了类似的问题,于是我找到浏览器:navigation.py中的page navTreeitem引发了一个KeyError,它导致客户端浏览器的404响应。

感谢贾科莫的回答。