我曾尝试寻找答案,但似乎没有一个解决方案显示如何修改页脚。我在主题视图中看到了这一点:
<div id="footer-sig" class="group">
@Zone(Model.Footer)
</div>
如何修改 Model.Footer?我有从 Web 安装程序安装的发布版本,它似乎没有控制器或模型,只有视图。如何修改页脚?
例如,我只想放一个“|” 在仪表板和其他链接之间。
我曾尝试寻找答案,但似乎没有一个解决方案显示如何修改页脚。我在主题视图中看到了这一点:
<div id="footer-sig" class="group">
@Zone(Model.Footer)
</div>
如何修改 Model.Footer?我有从 Web 安装程序安装的发布版本,它似乎没有控制器或模型,只有视图。如何修改页脚?
例如,我只想放一个“|” 在仪表板和其他链接之间。
如果您还没有这样做,那么可能值得阅读一些有关自定义 Orchard 主题的背景知识。
这在很大程度上取决于您要更改的内容Model.Footer
。假设您使用的是TheThemeMachine主题,您发布的代码片段包含在Layout.cshtml
. 如果您进一步查看源代码,您将看到以下代码段:
WorkContext.Layout.Footer.Add(New.BadgeOfHonor(), "5"); // Powered by Orchard
WorkContext.Layout.Footer.Add(New.User(), "10"); // Login and dashboard links
这告诉 Orchard 旋转两个新形状作为页脚 (BadgeOfHonor
和User
) 的一部分。
BadgeOfHonor
形状只是呈现捆绑到主题中的视图,因此TheTimeMachine
可以轻松更改。
该User
形状在核心中有一个默认视图,并呈现页脚的“欢迎 XXX / 登录”元素。这可以被您的主题以通常的 Orchard 方式覆盖。
从您的评论中,听起来您想将页脚从 更改为TheThemeMachine
,而不是说:
Powered by Orchard © The Theme Machine 2010. Welcome, admin! Sign Out Dashboard
它说:
Powered by Orchard © The Theme Machine 2010. Welcome, admin! Sign Out | Dashboard
您可以通过在主题中创建适当的视图来覆盖 Orchard 中的视图。因此,要更改User
呈现形状的方式,您只需将视图添加到主题并进行修改。最简单的方法是找到现有视图并将其复制到您的主题中,这将为您提供一些工作。在这种情况下,需要将文件src\Orchard.Web\Core\Shapes\Views\User.cshtml复制到文件夹src\Orchard.Web\Themes\TheThemeMachine\Views\User.cshtml 中(假设您正在修改主题机)。然后您只需要更改此代码:
<span class="user-actions">
@Html.ActionLink(T("Sign Out").ToString(), "LogOff", new { Controller = "Account", Area = "Orchard.Users", ReturnUrl = Context.Request.RawUrl }, new { rel = "nofollow" })
@if (AuthorizedFor(Orchard.Security.StandardPermissions.AccessAdminPanel)) {
@Html.ActionLink(T("Dashboard").ToString(), "Index", new {Area = "Dashboard", Controller = "Admin"})
}
</span>
变成这样的东西:
<span class="user-actions">
@Html.ActionLink(T("Sign Out").ToString(), "LogOff", new { Controller = "Account", Area = "Orchard.Users", ReturnUrl = Context.Request.RawUrl }, new { rel = "nofollow" })
|
@if (AuthorizedFor(Orchard.Security.StandardPermissions.AccessAdminPanel)) {
@Html.ActionLink(T("Dashboard").ToString(), "Index", new {Area = "Dashboard", Controller = "Admin"})
}
</span>
一般来说,处理自己的主题副本是个好主意,而不是直接修改发行版附带的主题,因为这将使您更容易在更新时进行更新。还值得研究 ShapeTracing 模块,它允许您确定需要覆盖哪些形状以更改站点上的不同元素。Orchard.Net页面上的文档确实包含一些有用的信息(尽管它可能会有点过时,因为开发仍在快速进行),因此值得一读。
一种简单的方法是浏览您的网站文件并找到 ~\Themes[ThemeNameOverHere]\Views\BadgeOfHonor.cshtml
我有这个有它的内容,您可以轻松编辑:@T("Powered by Orchard"," http:/ /www.orchardproject.net ") @T("© The Theme Machine 2010.")
注意:我使用的是 Orchard 1.9.1 版本。希望这是有用的。