2017-06-19 62 views
1

的MVC視圖我發現這篇文章在這裏: http://jondjones.com/learn-umbraco-cms/umbraco-developers-guide/customising-umbraco-ui/how-to-display-an-mvc-view-in-the-umbraco-backend顯示在一把umbraco後端

它涵蓋正是我想要做的(顯示在節中的一把umbraco後端的MVC視圖),但我不能似乎得到它的工作,文章作者是無法接觸的。

我希望有人可能知道這個確切的過程,並能夠爲我進入更多的細節。我正在努力的特定部分是作者沒有描述什麼地方會發生什麼,使用他的代碼有什麼,以及如果在umbraco項目中沒有使用routeconfig,該怎麼做。除此之外,與示例中的作者命名約定不一致,造成更多混淆。

如果以前有人這樣做過,請詳細說明如何使用MVC在umbraco後端的部分中顯示視圖。

+0

您的標題有點混亂。你想要達到什麼目的?你想用新的樹結構在Umbraco中創建一個新的部分嗎?或者您是否只想在現有部分中實施新的儀表板? – Mark

+0

經過數小時的試驗和錯誤,我遇到了一個解決方案。一旦我完成並記錄了項目,我會在這裏發佈它。 基本上我想要的是能夠使用MVC在節中顯示內容,無論這是否是umbracos默認節或自定義節之一。 – user2920648

+0

很酷,我很喜歡你的解決方案。 Umbraco默認的方式來實現這個(以及大多數到後臺的自定義功能)是通過使用angular en backoffice API控制器 – Mark

回答

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。

要保留包含的擴展名,最好在沒有擴展名文件夾的情況下放置您的視圖。然而,默認情況下,您的動作結果將查看視圖文件夾的項目的根級別。因此,您必須在返回的操作結果中提供一個字符串,以將它們指向擴展文件夾中的正確視圖。 例如

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

如果您導航到新的部分並找不到您的導航樹。嘗試刪除Config文件夾中找到的trees.config文件中的自定義部分鍵並重建項目。下次您導航到自定義部分時,它應該重新生成一個新的密鑰並顯示導航樹。

由於該項目正在進行中,我仍在進行改進,如果您克隆它,您可能會發現它缺少一些umbraco文件(主要是配置文件)。只需卸載umbracocms,umbraco.modelsbuilder和umbracocms.core打包並刪除項目中的任何缺失文件,然後重新安裝umbracocms軟件包。我嘗試記錄自述文件中的安裝進度。

我希望這可以幫助一些人,快樂編碼!