未找到 Piranha CMS 管理自定义控制器

Posted

技术标签:

【中文标题】未找到 Piranha CMS 管理自定义控制器【英文标题】:Piranha CMS Management Custom Controller Not Found 【发布时间】:2014-03-01 13:17:49 【问题描述】:

我在向我的 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"
            
          ;

这个菜单在管理器界面显示正常,问题是当我点击菜单项时找不到控制器路径。

控制器是类在Areas/Manager/Controllers/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();
    


在Areas/Manager/Views/Products/中有ProductListProductEdit的视图文件

我的网络配置包含我认为我需要的以下行

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

当我点击管理器中的产品链接时,我得到

找不到资源。 说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。 请求的 URL:/MyApp/manager/products/productlist

/MyApp/manager/page 页面在默认配置下显示正常。

我确定我错过了什么,或者在某个地方做错了什么,我只是不确定它在哪里。

【问题讨论】:

【参考方案1】:

我已尝试重现您的问题,但它在我的项目中与您的 productscontroller 完美配合。我已压缩我的测试项目并将其上传到我的保管箱,以便您下载并将其与您的项目进行比较:

编辑 在作者下载文件时删除了下载链接

请在您下载 zip 文件后通知我,以便我删除它。

问候

哈坎

【讨论】:

已下载谢谢。您的测试项目运行良好,我将用它来解决我的问题。非常感谢。 太好了,当您找出导致错误的原因后,请告诉我是否需要在某处澄清文档! 如果有人感兴趣,我发现我做错了。在piranhacms.org/docs/extend/custom-entities 它声明使用 但实际上它需要在 谢谢!我已经更新了文档并解决了这个问题。文档已过时并引用了早期版本。

以上是关于未找到 Piranha CMS 管理自定义控制器的主要内容,如果未能解决你的问题,请参考以下文章

自定义区域中的 Piranha CMS 图像扩展

Piranha CMS 自定义实体

自定义区域内的 Piranha CMS HtmlRegion 不保存内容

Piranha CMS 想用新数据扩展用户?

Piranha CMS:如何查找页面的子页面

无法使 Piranha CMS 管理器编辑页面正常工作