我创造了一个新产品。我可以安装和卸载它。
但是,我已经创建了一个可以从一个动作(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
有什么想法吗?
答案 0 :(得分:2)
我怀疑你的视图在渲染时会引发AttributeError或KeyError,这也会导致Plone显示NotFound错误。
在您的视图__call__
和/或__init__
方法中放置一个调试断点,以查看您的视图是否正在被查找和调用。
那,或者你的configure.zcml
根本没有加载;确保您的软件包包含在某个地方,可能在您的buildout的zcml
部分的plone.recipe.zope2instance
变量中,或者在另一个configure.zcml文件的<include />
语句中。