我们目前正在开发包含纯MVC项目的.NET解决方案。一开始,很好。但是,内容似乎经常变化。
我认为最好将一些块内容和静态页面制作成CMS。它们可以是CMS块的帖子列表和静态页面的CMS页面。
我的团队选择了Umbraco。最困难的是将CMS系统集成到块中。
我试着按照这个教程:https://24days.in/umbraco-cms/2016/adding-umbraco-to-existing-site/。但是,我遇到了一些问题:
我不知道是否有针对这种情况的任何建议和新教程。我可能会坚持安装依赖项。希望我能从你们那里得到一些建议,以便我能继续。
- 该教程已过时。项目的结构似乎有所改变。
Umbraco v8仍然很新,正如你所说,大部分文档已经过时了。您可以查看文档here的当前状态。
除此之外,你可以下载source code from Git并检查事情是如何完成的,但它可能非常耗时。
- 移动控制器后,我不知道如何重写路由
如果我理解正确,你想拥有自己的控制器,拥有自己的路线。
Umbraco有自己的global.asax实现并覆盖默认路由。通常的路由类没有执行,您必须在应用程序启动时添加路由。
我设法通过创建User Composer来实现这一目标。用户作曲家在核心作曲家之后,在最终作曲家之前创作。 (下面,我创建了一个IComposer
,但IUserComposer
也应该工作。)
public class ApplicationEventComposer : IComposer
{
public void Compose(Composition composition)
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
在这一个你可以注册自己的RouteConfig,捆绑等。只是要小心,很容易弄乱Umbraco路线......
下面是一个添加名为TestController的新控制器的示例:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Test",
url: "Test/{action}/{id}",
defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional }
);
}
}