2015-02-11 58 views
1

我需要定製創建(和編輯)成員部分在保存成員時做一些額外的事情。覆蓋Umbraco成員接口上的創建方法

這裏有幾個:

  • 自動爲用戶生成一個密碼(如果沒有保存密碼/用戶名不會報錯了)

  • 電子郵件憑據用戶。

  • 用戶創建或更新成員後以編程方式填寫某些字段。

覆蓋該方法的最佳方法是什麼?有什麼方法可以更改頁面上的標記嗎?

我對.NET成員資格很滿意,從我讀過的文章中可以看出Umbraco利用了這種技術。我只需要知道如何使用Umbraco引擎,並在成員頁面的創建/更新方法上更改一些內容。

任何幫助將不勝感激。

在此先感謝。

回答

0

我在我的一個Umbraco安裝中做了類似的事情。我所做的就是創建一個從umbraco.businesslogic.ApplicationBase繼承一個新的類,並重寫這樣的:

public class UmbracoPublishingManager : ApplicationBase 
    { 
     public UmbracoPublishingManager() 
     { 
      Umbraco.Core.Services.MemberService.Created+= MemberService_Created; 
     } 

     void MemberService_Created(Umbraco.Core.Services.IMemberService sender, Umbraco.Core.Events.NewEventArgs<Umbraco.Core.Models.IMember> e) 
     { 
      // Do stuff (use the parameter e to access the member data you need) 
     } 
    } 

MemberService.Created只要創建一個新的成員被觸發。您還可以根據您的需要觸發許多其他事項,例如「保存」,「刪除」,「刪除」等。

+0

我在'umbraco.businesslogic'下看不到'ApplicationBase'。我正在使用Umbraco的第7版。我錯過了什麼嗎?或者我們只是在談論不同的版本? – Ricardo 2015-02-12 22:34:34

+0

我在6.2。它似乎已被棄用,並被ApplicationEventHandler取代。例如,請參閱https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/48357-ApplicationBase-events-V-703。其餘的方法應該與上面相同 – Scherling 2015-02-13 08:08:21