1

我正在尝试弄清楚如何使用 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 但对于我的生活,我似乎无法解决它。

4

1 回答 1

1

所有的钩子都只是你可以附加方法的静态委托。在上面的例子中,一个匿名方法被分配给了钩子,语法如下:

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

您还可以分配先前声明的方法。

delegate += MyMethod

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

~/WebPages/Hooks.cs

和所有代表:

~/Delegates.cs

我希望这些 URL:s 是正确的,因为我是从记忆中输入的:)

问候

于 2014-07-13T05:36:47.087 回答