Orchardcms 如何覆盖orchard cms博客上的导航区域而不是博客帖子?

Orchardcms 如何覆盖orchard cms博客上的导航区域而不是博客帖子?,orchardcms,Orchardcms,如何仅在博客主页上覆盖Orchard中的区域导航区域。我想把博文页留在这里 我想编辑菜单(删除它),但保留在博客文章页面上的菜单 谢谢。您只需要将菜单小部件放在一个仅适用于博客文章页面的层中。我认为内容类型没有内置的层规则,但您可以实现一个。请参阅Orchard.Widget模块中的IRuleProvider。或者,如果您的博客文章的url中有一致的内容,您可以使用url规则。在widgets管理区域中有一个创建新层的链接。你的规则看起来像这样 url '~/MyBlog*' 然后把你的小部件

如何仅在博客主页上覆盖Orchard中的区域导航区域。我想把博文页留在这里

我想编辑菜单(删除它),但保留在博客文章页面上的菜单


谢谢。

您只需要将菜单小部件放在一个仅适用于博客文章页面的层中。我认为内容类型没有内置的层规则,但您可以实现一个。请参阅Orchard.Widget模块中的IRuleProvider。或者,如果您的博客文章的url中有一致的内容,您可以使用url规则。在widgets管理区域中有一个创建新层的链接。你的规则看起来像这样

url '~/MyBlog*'
然后把你的小部件放在那个层

此外,如果不希望在没有形状时渲染任何区域,请确保从主题中检查Layout.cshtml中的Model.ZoneName是否为null

@if (Model.Navigation != null) {
  <div id="navigation">@Display(Model.Navigation)</div>
}
@if(Model.Navigation!=null){
@显示(模型导航)
}

谢谢布兰登。它将完成类似于我希望做的事情。仍然希望我能找到一种方法来启用和禁用每个页面的区域导航,就像您可以使用形状一样。您的意思是要禁用名为“导航区域”的区域?你这是什么意思?只是不渲染里面的任何东西?抱歉,我只是想理解你的意思以及你为什么需要它。是的,我不想在主页上呈现该区域中的任何内容,但仍然呈现每个博客文章上的菜单。我会执行上面的层逻辑,然后确保在布局中呈现该区域之前检查模型是否为null。我将用附加代码更新答案。谢谢Brandon。我将高级菜单小部件添加到导航区,并将其从主页层删除。