2014-02-05 73 views
2

我遇到了將自定義控制器添加到我的Piranha CMS的問題。 我已經建立了一個新的網站,並從模板安裝,所有的基本功能運作良好。 我已經使用從文檔下面的代碼添加的菜單到管理部分:Piranha CMS管理自定義控制器未找到

 Manager.Menu.Add(new Manager.MenuGroup() 
     { 
      InternalId = "MEProducts", 
      Name = "Products" 
     }); 

     Manager.Menu.Where(m => m.InternalId == "MEProducts").Single().Items = 
      new List<Manager.MenuItem>() { 
      new Manager.MenuItem() { 
       Name = "Products", 
       Action = "productlist", 
       Controller = "products", 
       Permission = "ADMIN", 
       SelectedActions = "productlist,productedit" 
      }, 
      new Manager.MenuItem() { 
       Name = "Product groups", 
       Action = "productgrouplist", 
       Controller = "products", 
       Permission = "ADMIN", 
       SelectedActions = "productgrouplist,productgroupedit" 
      } 
      }; 

此菜單顯示在管理員界面精緻,問題是,當我在菜單項上單擊控制器路徑不能找到。

的控制器類是地區/經理/控制器/ ProductsController.cs和代碼如下

namespace MyApp.Areas.Manager.Controllers 
{ 
public class ProductsController : ManagerController 
{ 
    // 
    // GET: /Manager/Products/ 

    public ActionResult Index() 
    { 
     return View(); 
    } 
    public ActionResult ProductList() 
    { 
     return View(); 
    } 
    public ActionResult ProductEdit(string id = "") 
    { 
     return View(); 
    } 
} 
} 

有用於ProductList和查看文件中的區域/經理/瀏覽/產品ProductEdit/

我的web配置包含以下行,我認爲我需要

<add key="manager_namespaces" value="MyApp.Areas.Manager.Controllers" /> 

當我點擊該產品在MANAG鏈接呃我得到

無法找到該資源。 描述:HTTP 404.您正在查找的資源(或其某個依賴項)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。 請求的網址:/ MyApp/manager/products/productlist

對於默認配置,頁面/ MyApp/manager /頁面顯示正常。

我確定我錯過了某些東西,或者做了某些不正確的事情,我只是不確定它在哪裏。

回答

1

我試過重現你的問題,但它在我的項目中與你的產品控制器完美配合。我拉上我的測試項目,並將其上傳到Dropbox的我,所以你可以下載,並將其與你的項目:

編輯 爲作者刪除下載鏈接下載的文件

請讓我知道您何時下載了zip文件,以便我可以將其刪除。

問候

哈坎

+0

下載謝謝。你的測試項目工作完美,我會用它來解決我的問題。非常感謝你。 – Lepon

+0

非常好,當你找出導致錯誤的原因時,讓我知道是否需要在某處澄清文檔! –

+0

如果有人感興趣,我發現我做錯了。在http://piranhacms.org/docs/extend/custom-entities它聲明使用 但真的需要在 Lepon