2015-02-11 65 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