2012-06-25 1 views
1

Umbraco Contour 사용시 양식을 보관할 때 추적 할 수있는 기능을 만들려고합니다. 일반적으로 Umbraco 코드베이스에는 내가 연결할 수있는 일련의 이벤트가 있습니다. 그러나 나는 여기 하나 보이지 않는다.Umbraco 컨투어로 양식을 보관할 때 이벤트에 연결하는 방법이 있습니까? Umbraco 4.7.2 및 Umbraco Contour 1.12 사용?

또 다른 아이디어는 데이터베이스에 트리거 또는 무언가를 갖는 것이지만이 접근법에 대한 유일한 해결책이 있는지 알아보기를 원했습니다.

답변

1

지금까지 내가 거기에 양식을 보관하는 경우 올렸다 특정 이벤트가 아니라, 양식 보관되어 있다면, 당신의 코드를 실행 FormStorage.FormUpdated 이벤트에 가입하려고하고 거기에서 확인할 수 있습니다 알고 :

using System; 
using umbraco.BusinessLogic; 
using Umbraco.Forms.Core; 
using Umbraco.Forms.Data.Storage; 

public class FormArchiveListener : ApplicationBase 
{ 
    public FormArchiveListener() 
    { 
     FormStorage.FormUpdated += new EventHandler<FormEventArgs>(FormStorage_FormUpdated); 
    } 

    void FormStorage_FormUpdated(object sender, FormEventArgs e) 
    { 
     FormStorage storage = (FormStorage) sender; 

     if (e.Form.Archived) 
     { 
      ... 
     } 
    } 
} 
+0

거기서 지금 테스트 해 볼 기회가있었습니다. Sender는'Form'이 아니며 실제로'FormStorage' 객체입니다. 'FormEventArgs'를 사용하여 현재 폼에 접근 할 수 있습니다. 내 대답을 업데이트했습니다. –

+0

감사합니다. –