use*_*388 4 asp.net-mvc orchardcms
我试图寻找答案,但没有一个解决方案似乎显示如何修改页脚.我在视图中看到了这个主题:
<div id="footer-sig" class="group">
@Zone(Model.Footer)
</div>
Run Code Online (Sandbox Code Playgroud)
如何修改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
Run Code Online (Sandbox Code Playgroud)
这告诉Orchard将两个新形状作为页脚(BadgeOfHonor和User)的一部分.
该BadgeOfHonor形状只是呈现其被绑定到视图TheTimeMachine主题所以可以容易地改变.
该User形状在核心中具有默认视图,并呈现页脚的"欢迎XXX /登录"元素.这可以通过您的主题以通常的Orchard方式覆盖.
从你的评论中,听起来你想改变页脚TheThemeMachine,所以不要说:
Powered by Orchard © The Theme Machine 2010. Welcome, admin! Sign Out Dashboard
Run Code Online (Sandbox Code Playgroud)
它说:
Powered by Orchard © The Theme Machine 2010. Welcome, admin! Sign Out | Dashboard
Run Code Online (Sandbox Code Playgroud)
您可以通过在主题中创建适当的视图来覆盖Orchard中的视图.因此,要更改User渲染形状的方式,您只需将视图添加到主题并进行修改即可.最简单的方法是找到现有的视图并将其复制到您的主题中,这将为您提供一些工作.在这种情况下,需要将文件src\Orchard.Web\Core\Shapes\Views\User.cshtml复制到文件夹src\Orchard.Web\Themes\TheTheMachine\Views\User.cshtml中(假设您正在修改TheThemeMachine).然后你只需要更改这段代码:
<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>
Run Code Online (Sandbox Code Playgroud)
进入这样的事情:
<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>
Run Code Online (Sandbox Code Playgroud)
一般来说,最好使用自己的主题副本,而不是直接修改分发附带的副本,因为这样可以让您在更新时更容易获取更新.同样值得研究的是ShapeTracing模块,它允许您识别需要覆盖哪些形状以更改站点上的不同元素.Orchard.Net页面上的文档确实包含一些有用的信息(虽然它可能会有点过时,因为开发仍然很快),所以值得一读.
| 归档时间: |
|
| 查看次数: |
4273 次 |
| 最近记录: |