2

我创建了一个新产品。我能够安装和卸载它。

但是,我创建了一个视图,可从操作(actions.xml)调用,但我不断收到错误消息,提示该页面不存在

This page does not seem to exist…

这是我的actions.xml

<?xml version="1.0"?>
<object name="portal_actions" meta_type="Plone Actions Tool"
   xmlns:i18n="http://xml.zope.org/namespaces/i18n">

<action-provider name="portal_workflow"/>
<action-provider name="portal_types"/>
<action-provider name="portal_actions"/>

<object name="document_actions" meta_type="CMF Action Category">

    <object name="viewCatTree" meta_type="CMF Action" i18n:domain="plone">
        <property name="title" i18n:translate="">Category Tree</property>
        <property name="description" i18n:translate=""></property>
        <property name="url_expr">string:${object_url}/visual_tree_view</property>
        <property name="icon_expr"></property>
        <property name="available_expr"></property>
        <property name="permissions">
            <element value="View"/>
        </property>
        <property name="visible">True</property>
    </object>

    <!-- more actions here -->

</object>

这就是我在 configure.zcml 中指定的方式

<browser:page
    for="*"
    name="visual_tree_view"
    class=".viewlets.CategoryTreeSettingsView"
    template="../skins/category_customizations/category_view.pt"
    permission="zope2.View"
/>

我也尝试在浏览器中的视图名称前添加@@,但找不到该页面。模板存在于 skins 文件夹中,我是否将上面的代码更改为指向都没有关系/templates/category_view.pt

有任何想法吗?

4

1 回答 1

2

我怀疑您的视图在呈现时会引发 AttributeError 或 KeyError,这也会导致 Plone 显示 NotFound 错误。

__call__在您的视图和/或方法中放置一个调试断点,__init__以查看您的视图是否正在被查找和调用。

那,或者你configure.zcml根本没有被加载;确保你的包被包含在某个地方,可能在你的构建部分的zcml变量中plone.recipe.zope2instance,或者<include />在另一个 configure.zcml 文件的语句中。

于 2012-05-22T10:06:53.067 回答