Files
Orchard/src/Orchard.Web/Themes/TheThemeMachine/Views/Layout.cshtml

88 lines
2.3 KiB
Plaintext
Raw Normal View History

@{
Style.Include("site.css");
// cool stuff goes up here
var homeUrl = Href("~/");
// Zone is an alias for Display
Func<dynamic, dynamic> Zone = x => Display(x);
//Add classes to the wrapper div to toggle zones on and off
if (Model.AsideFirst != null && Model.AsideSecond == null) {
Model.Classes.Add("has-sidebar");
}
else if (Model.AsideFirst == null && Model.AsideSecond != null) {
Model.Classes.Add("has-sidebar-left");
}
else if (Model.AsideFirst != null && Model.AsideSecond != null) {
Model.Classes.Add("has-sidebars");
}
else {
}
}
<div id="layout-wrapper">
@* needs to be the page title, not page (head) title... *@
@* Adds text and html to the header zone *@
@using(Capture(branding => WorkContext.Layout.Header.Add(branding) )) {
<h1 id="branding"><a href="@homeUrl">@WorkContext.CurrentSite.SiteName</a></h1>
}
@if(Model.Header != null) {
<header id="layout-header">
<div id="header">
@Zone(Model.Header)
</div>
</header>
}
@if(Model.Navigation != null) {
<div id="navigation" class="group">
@Zone(Model.Navigation)
</div>
}
<div id="layout-content" class="group">
@if(Model.Messages != null) {
<div id="messages">
@Zone(Model.Messages)
</div>
}
@if(Model.AsideSecond != null) {
<aside class="aside second">
@Zone(Model.AsideSecond)
</aside>
}
@* the model content for the page is in the Content zone @ the default position (nothing, zero, zilch) *@
@if(Model.Content != null) {
<div id="content" class="group">
@Zone(Model.Content)
</div>
}
@if(Model.AsideFirst != null) {
<aside class="aside first">
@Zone(Model.AsideFirst)
</aside>
}
@if(Model.AsideThird != null) {
<aside class="aside third group">
@Zone(Model.AsideThird)
</aside>
}
</div>
@* span -> p (?) *@
@using(Capture(pbo => WorkContext.Layout.Footer.Add(pbo) )) {
<span class="poweredby">Powered by Orchard</span> <span class="copyright">&#169; The Theme Machine 2010.</span>
}
@if(Model.Footer != null) {
<footer id="layout-footer" class="group">
@Zone(Model.Footer)
@Display.User()
</footer>
}
</div>