使用钩子来触发进程

时间:2014-07-12 05:02:16

标签: hook piranha-cms

我正在尝试弄清楚如何使用Hooks,似乎无法使语法正确。

我已经使用PirahnaCMS构建了一个网站,该网站有一个博客组件,我正在扩展它以调用一些社交插件并自动发布到FB,Twitter等。

我似乎无法获得正确的语法。我的应用程序是MVC,我已经查看了这一部分

1.2 ASP.NET MVC

如果您正在使用ASP.NET MVC,则应在Application_Start方法中的Global.asax.cs或您保留启动代码的任何其他位置附加。您使用以下语法附加钩子:

protected void Application_Start() {


  Piranha.WebPages.Hooks.Menu.RenderItemLink = (ui, str, title, url) => {
    str.Append(String.Format("<span><a href=\"{0}\">{1}</a></span>", url, title)) ;  
  } ;
} 

Hook我相信我想要使用的是Piranha.WebPages.Hooks.Manager.PostEditModelAfterSave但是对于我的生活我似乎无法解决它。

1 个答案:

答案 0 :(得分:1)

所有挂钩都只是可以附加方法的静态委托。在上面的示例中,已使用语法为钩子指定了匿名方法:

delegate += (parameters) => { method body }

您还可以指定先前声明的方法。

delegate += MyMethod

应在官方网站的文档中提供用于附加挂钩的示例骨架。如果没有,你可以在文件中找到钩子:

~/WebPages/Hooks.cs

所有代表都在:

~/Delegates.cs

我希望这些URL:s正确,因为我正在从内存中输入:)

此致