【发布时间】:2011-12-08 08:07:29
【问题描述】:
每次用户创建新节点时,我都需要生成一个自定义 url slug,或者(如果可能)完全停止 Umbraco 使用 umbraco.library:NiceUrl 方法。
【问题讨论】:
每次用户创建新节点时,我都需要生成一个自定义 url slug,或者(如果可能)完全停止 Umbraco 使用 umbraco.library:NiceUrl 方法。
【问题讨论】:
在我的回复中,我假设您使用的是 Umbraco v4.7.x。
首先,我会确保您的节点具有umbracoUrlName 文档类型属性和/或umbracoUrlAlias 属性(由您决定哪个最适合您的要求)。
然后您可以订阅 Document.New 事件处理程序。要订阅 Document.New 处理程序,您需要从 ApplicationBase 类继承,请参见以下示例:
public class ApplicationBase : umbraco.BusinessLogic.ApplicationBase
{
/// <summary>
/// Initializes a new instance of the <see cref="ApplicationBase"/> class.
/// </summary>
public ApplicationBase()
{
Document.New += this.Document_New;
}
private void Document_New(Document sender, NewEventArgs e)
{
sender.getProperty("umbracoUrlName").Value = "your_urlname_here";
sender.Save();
}
}
【讨论】: