因此,我仍在努力並改進項目中的工具, 但是,我爲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軟件包。我嘗試記錄自述文件中的安裝進度。
我希望這可以幫助一些人,快樂編碼!
您的標題有點混亂。你想要達到什麼目的?你想用新的樹結構在Umbraco中創建一個新的部分嗎?或者您是否只想在現有部分中實施新的儀表板? – Mark
經過數小時的試驗和錯誤,我遇到了一個解決方案。一旦我完成並記錄了項目,我會在這裏發佈它。 基本上我想要的是能夠使用MVC在節中顯示內容,無論這是否是umbracos默認節或自定義節之一。 – user2920648
很酷,我很喜歡你的解決方案。 Umbraco默認的方式來實現這個(以及大多數到後臺的自定義功能)是通過使用angular en backoffice API控制器 – Mark