如何覆盖Orchard CMS中导航区域的渲染?

时间:2011-05-29 22:13:20

标签: asp.net-mvc asp.net-mvc-3 dynamic razor orchardcms

我是Orchard的新手,所以我可能不知道我在做什么。

我已经想出如何覆盖不同的形状,但是将一个cshtml文件放在View文件夹中,其名称与形状相同。

另外,我在Core Orchard文件下找到了Menu和MenuItem形状的cshtml文件。

但是,我没有看到名为Navigation的形状,我真的不明白Zones是如何工作的。

我搜索了代码并且无法弄清楚导航是如何呈现的,尽管我找到了一些代码。

我想要覆盖导航渲染的原因是它在UL周围呈现DIV和NAV标记。我更愿意只渲染资产净值和UL。

2 个答案:

答案 0 :(得分:11)

区域也是形状,但它们在代码( Core / Shapes / CoreShapes.cs )中声明,而不是像大多数形状一样在.cshtml文件中声明。此外,没有称为导航的形状,因为区域是在运行时动态创建的 - 这些名称由所使用的主题提供。

区域具有区域__ [ZoneName]形式的默认替换。 这意味着您只需将 Zone-Navigation.cshtml 文件放入/ Views文件夹中您的主题文件夹,以覆盖导航区域渲染。

答案 1 :(得分:1)

如果您使用的是最新的1.1.3版本,则use the new shape tracing tool可以designer tools module。它提供了一个URL替换列表,用于命名模板以覆盖默认呈现。

相关问题