Plone:在AJAX调用上重定向通用视图

时间:2014-09-23 22:17:42

标签: ajax redirect view plone

我对内容元素的编辑视图进行了AJAX调用" bar"

http://foo/bar/edit

以叠加层渲染。编辑后,叠加层关闭 并重定向到

http://foo/bar

如何告知编辑视图(通过请求或表单数据)重定向到

http://foo 

成功编辑后?

任何帮助表示赞赏

沃尔克

1 个答案:

答案 0 :(得分:1)

我看到两种可能的解决方案。

  1. 为您编辑的内容类型添加“redirect_to_parent”默认视图。
  2. 来自Products.Five.browser的

    导入BrowserView 来自Acquisition import aq_inner

    class RedirectToParent(BrowserView):
    
        def __call__(self):
            context = aq_inner(self.context).aq_explicit
            return self.context.REQUEST.RESPONSE.redirect(
                context.aq_parent.absolute_url())
    

    因此,您将在编辑后自动重定向到其父级。

    缺点:您无法再直接访问此内容的视图,您必须注册第二个detail_view,但不会重定向您。

    1. 使用js处理重定向(不是工作示例):
    2. $(...).prepOverlay({
          subtype: 'ajax',
          filter: "#content",
                  formselector: 'form',
                  closeselector: '[name="form.button.cancel"]',
                  config: {
                      onClose: function(e, overlay) {
                  // Implement redirect / reload
              }
          }
      });
      

      imho你应该从它的父母那里打开叠加层,所以它应该足以关闭叠加层,重新加载onClose事件中的必要部分。