找不到食人鱼CMS管理定制控制器

时间:2014-02-05 08:01:44

标签: 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"
            }
          };

此菜单显示在管理器界面中,问题是当我点击菜单项时无法找到控制器路径。

控制器的类位于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();
    }
}
}

在Regions / Manager / Views / Products /

中有ProductListProductEdit的视图文件

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

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

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

  

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

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

我确信我错过了某些东西,或者在某个地方做了一些不正确的事我不知道它在哪里。

1 个答案:

答案 0 :(得分:1)

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

修改 删除了作者下载文件的下载链接

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

此致

哈坎