覆盖Dexterity默认视图类型

时间:2012-03-06 17:20:59

标签: plone dexterity

我们有对象,就是说xyz,它的视图是xyz_view,dexerity期望页面模板文件。有没有办法将默认页面类型覆盖到控制器页面模板?

所以视图应该是xyz_view.cpt,而不是xyz_view.pt?

此致

2 个答案:

答案 0 :(得分:3)

对于灵巧形式使用控制器页面模板没有实际情况。我也没有想到比使用z3c.form更容易的地方。

答案 1 :(得分:1)

在视图模板中包含一个提交给自己的表单,并使用'update()'方法处理请求并在某些条件下重定向:

class View(grok.View):
    grok.context(IMyType)
    grok.requires('zope2.View')

    def update():
        if 'form.button.Submit' in self.request:
        input_value = self.request.get('input_value', None)
        if input_value is not None:
            self.request.response.redirect(self.context.absolute_url() + "@@process-this")

有关详细信息,请参阅the five.grok manual instructions about simple views