【问题标题】:Display an MVC view in the Umbraco Backend在 Umbraco 后端显示 MVC 视图
【发布时间】:2017-06-19 13:00:20
【问题描述】:

我在这里找到这篇文章: http://jondjones.com/learn-umbraco-cms/umbraco-developers-guide/customising-umbraco-ui/how-to-display-an-mvc-view-in-the-umbraco-backend

它完全涵盖了我想要做的事情(在一个部分的 umbraco 后端显示一个 mvc 视图),但是我似乎无法让它工作,并且无法联系到文章作者。

我希望有人可能知道这个确切的过程并能够为我详细介绍。我正在苦苦挣扎的特定部分是作者没有描述任何事情的去向,他的代码有什么用途,以及如果您在 umbraco 项目中还没有 routeconfig 该怎么办。此外,示例中的作者命名约定与作者的命名约定不一致,导致进一步的混乱。

如果有人以前做过,请详细说明如何使用 MVC 在 umbraco 后端的一个部分中显示视图。

【问题讨论】:

  • 你的标题有点混乱。你到底想达到什么目的?您想在 Umbraco 中建立一个具有新树结构的新部分吗?或者您只是想在现有部分中实施新仪表板?
  • 经过数小时的反复试验,我找到了解决方案。一旦我完成并记录了项目,我将把它贴在这里。基本上我想要的是能够使用 MVC 在一个部分中显示内容,无论是 umbracos 默认部分还是自定义部分。
  • 酷,我对你的解决方案很感兴趣。 Umbraco 实现这一点(以及后台的大部分自定义功能)的默认方法是使用 angular en backoffice api 控制器的组合

标签: c# asp.net-mvc asp.net-mvc-5 umbraco7


【解决方案1】:

所以我仍在努力改进项目中的工具, 但是我为 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 文件允许您仅更改为您的部分显示的名称。没有它,您的部分将显示为 [example] 而不是 example。

我在创建这个项目时注意到了一些事情,在树中创建与 umbraco 部分同名的控制器和节点有时会导致冲突。例如在名为 ContentNode 的树类中有一个节点将中断并且无法工作。所以在我的树中,我将它命名为 ContentToolsNode。

要保留您的扩展程序,最好让您的视图不包含您的扩展程序文件夹。但是默认情况下,您的操作结果将查看项目的根级别以获取视图文件夹。因此,您必须在返回的操作结果中提供一个字符串,以将它们指向您的扩展文件夹中的正确视图。 例如

return View("~/App_Plugins/EditorTools/Views/Content/Index.cshtml", model);

如果您导航到新部分并发现导航树丢失。尝试删除 Config 文件夹中的 trees.config 文件中的自定义部分键并重建项目。下次导航到自定义部分时,它应该会重新生成一个新键并显示导航树。

由于该项目正在进行中并且我仍在改进,如果您克隆它,您可能会发现它缺少一些 umbraco 文件(主要是配置文件。只需卸载 umbracocms、umbraco.modelsbuilder 和 umbracocms.core 包并删除项目中所有丢失的文件。然后您应该可以重新安装 umbracocms 包。我已尝试在自述文件中记录安装进度。

我希望这对某些人有所帮助,Happy Coding!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 2018-08-21
    • 2015-05-11
    • 1970-01-01
    相关资源
    最近更新 更多