2011-09-28 62 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響應。

感謝賈科莫的回答。