它涵盖了我想要做的事情(在一节中显示umbraco后端的mvc视图),但是我似乎无法让它工作,文章作者是无法接受的。
我希望有人可能知道这个过程,并能够为我详细介绍。我正在努力的特定部分是作者没有描述任何事情发生的地方,使用他的代码有什么,以及如果你还没有在umbraco项目中有一个如何处理routeconfig。除此之外,与示例中的作者命名约定不一致,导致进一步的混淆。
如果有人之前已经这样做了,请你详细了解如何使用MVC在umbraco后端的部分中显示视图。
答案 0 :(得分:0)
所以我仍在努力改进项目中的工具, 但是我为umbraco创建的这个扩展包含了你能够创建一个使用MVC来显示页面的新自定义部分所需的一切。
https://github.com/Wolfkhan66/Escc.Umbraco.EditorTools
如果可能的话,我会尝试编写一个简短的教程,介绍创建自定义MVC umbraco部分的绝对基础知识。
现在,如果您看一下这个项目,那么创建新部分所需的基础知识就是以下类和文件。
App_Start -> RouteConfig.cs
lang -> en-US.xml, en.xml
EditorTools -> EditorToolsSection.cs, EditorToolsTree.cs, StartUpHandler.cs
*** Section.cs类文件允许您创建新部分的实例。 *** Tree.cs类文件允许您添加在任何umbraco部分上看到的导航树节点。 StartUpHandler.cs是注册您的RouteConfig以允许MVC工作。 lang文件允许您仅更改为您的部分显示的名称。如果没有它,您的部分将出现[示例]而不是示例。
在创建此项目时我注意到的一些事情,在树中创建与umbraco部分同名的控制器和节点有时会导致冲突。例如在树类中有一个名为ContentNode的节点会破坏而不起作用。所以在我的树中我将它命名为ContentToolsNode。
要保留扩展程序,最好不要使用扩展程序文件夹。但是,默认情况下,您的操作结果将查看视图文件夹的项目的根级别。因此,您必须在返回的操作结果中提供一个字符串,以将它们指向您的扩展文件夹中的正确视图。 e.g。
return View("~/App_Plugins/EditorTools/Views/Content/Index.cshtml", model);
如果您导航到新部分并找不到导航树。尝试删除Config文件夹中找到的trees.config文件中的自定义部分键并重建项目。下次导航到自定义部分时,它应重新生成一个新密钥并显示导航树。
由于该项目正在进行中,我仍在进行改进,如果您克隆它,您可能会发现它丢失了一些umbraco文件(主要是配置文件。只需卸载umbracocms,umbraco.modelsbuilder和umbracocms.core包并删除项目中任何缺失的文件。然后您应该能够重新安装umbracocms包。我试图在自述文件中记录安装进度。
我希望这可以帮助一些人,Happy Coding!