2014-09-23 42 views
1

通用視圖我有一個AJAX調用內容元素「酒吧」Plone的:對重定向AJAX調用

http://foo/bar/edit 

是在疊加呈現的編輯視圖。編輯疊加後關閉 和重定向到

http://foo/bar 

我如何告訴編輯視圖(被請求或表單數據)成功編輯後重定向到

http://foo 

任何幫助表示讚賞

沃爾克

回答

1

我看到了兩個可能的解決方案。

  1. 將「redirect_to_parent」默認視圖添加到您編輯的內容類型。

從Products.Five.browser進口BrowserView中 從採集進口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,它不會重定向你。

  • 處理與JS(不工作的例子)重定向:
  • $(...).prepOverlay({ 
        subtype: 'ajax', 
        filter: "#content", 
          formselector: 'form', 
          closeselector: '[name="form.button.cancel"]', 
          config: { 
           onClose: function(e, overlay) { 
          // Implement redirect/reload 
         } 
        } 
    }); 
    

    恕我直言,你應該已經打開覆蓋從它的父,所以它應該是足夠只需關閉疊加層即可重新加載onClose事件中的必要部分。