Plone 4:创建新模板视图

时间:2012-05-22 09:21:43

标签: views plone

我创造了一个新产品。我可以安装和卸载它。

但是,我已经创建了一个可以从一个动作(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

并不重要

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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

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

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