【问题标题】:Piranha CMS existing models and Piranha MenuPiranha CMS 现有模型和 Piranha Menu
【发布时间】:2013-12-11 16:06:01
【问题描述】:

我似乎不知道如何将我预先存在的页面添加到 Piranha 在我调用 @UI.Menu() 时生成的自动导航菜单中。

目前,我正在使用 获取模型 下描述的 here 方法来提取 CMS 内容并将其显示在我的模型数据上方。我可以成功地呈现包含 Piranha 内容的页面,但我不确定如何在顶部导航中显示此页面。

或者,我可以通过创建新的页面类型来提取数据并显示 CMS 内容,但这意味着该页面类型仅用于显示该单个页面。它显示在@UI.Menu() 生成的导航中,但如果我继续使用这种方法,我需要为每个动作创建一个额外的食人鱼控制器。

我的主要目标是将 CMS 功能添加到我的自定义 MVC 项目中,并使用 @UI.Menu() 在自动生成的导航中显示所有内容。

【问题讨论】:

    标签: asp.net-mvc piranha-cms


    【解决方案1】:

    如果您想在菜单中添加不受 CMS 真正控制的页面,请为它们添加单一页面类型,例如“应用程序页面”。然后在此处http://piranhacms.org/docs/pages/page-types 查看第 2.5 节下的页面类型文档。

    如果您选中复选框以允许页面更改路由,您可以在此页面类型的每个页面上指定路由。这意味着您可以将应用程序页面添加到结构中,并将路由添加到您的控制器/动作。

    【讨论】:

    • 我注意到Piranha.Extend.PageType 类中没有Route 属性,因此我不得不从项目中删除页面类型代码页,以便可以在CMS 管理界面中对其进行编辑。目前,这会起作用,但是在我们构建 Web 应用程序时,能够从代码中指定 Route 属性而不是添加/删除页面类型可能会很好。
    • 再次查看PageType 类,我应该注意到Controller 属性和ShowController 属性。我认为名字只是通过我关闭。没有更多问题了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 2015-06-11
    • 1970-01-01
    相关资源
    最近更新 更多