From aa8cac9323d2e38d2f3922c224156299d394f3c5 Mon Sep 17 00:00:00 2001 From: Louis DeJardin Date: Tue, 7 Sep 2010 00:20:11 -0700 Subject: [PATCH] Adding some sophistication to rendering Doing some work with Zone, MenuItem, Menu shapes Adjusting some shape usage in the TheAdmin theme --HG-- branch : theming --- .../Core/Dashboard/Views/Admin/Index.ascx | 4 +-- .../Orchard.Themes/Orchard.Themes.csproj | 1 + .../Orchard.Themes/Views/Document.cshtml | 6 +++- .../Modules/Orchard.Themes/Views/Zone.cshtml | 9 +++++ src/Orchard.Web/Orchard.Web.csproj | 4 ++- .../Themes/SafeMode/Views/Zone.ascx | 4 +-- .../Themes/TheAdmin/Views/Layout.ascx | 22 ++++++------ .../TheAdmin/Views/{Menu.ascx => Menu.ascx_} | 7 ++-- .../Themes/TheAdmin/Views/Menu.cshtml | 3 ++ .../Themes/TheAdmin/Views/MenuItem.cshtml | 9 +++++ .../Implementation/DefaultDisplayManager.cs | 4 +++ src/Orchard/DisplayManagement/Shapes/Shape.cs | 32 +++++++++++++++-- .../Mvc/ViewEngines/Razor/WebViewPage.cs | 2 +- .../ThemeAwareness/LayoutAwareViewEngine.cs | 13 ++++--- src/Orchard/UI/IPage.cs | 36 ++++--------------- src/Orchard/UI/Navigation/MenuFilter.cs | 36 +++++++++++++++---- src/Orchard/UI/Zones/ZoneHoldingBehavior.cs | 2 +- 17 files changed, 130 insertions(+), 64 deletions(-) create mode 100644 src/Orchard.Web/Modules/Orchard.Themes/Views/Zone.cshtml rename src/Orchard.Web/Themes/TheAdmin/Views/{Menu.ascx => Menu.ascx_} (94%) create mode 100644 src/Orchard.Web/Themes/TheAdmin/Views/Menu.cshtml create mode 100644 src/Orchard.Web/Themes/TheAdmin/Views/MenuItem.cshtml diff --git a/src/Orchard.Web/Core/Dashboard/Views/Admin/Index.ascx b/src/Orchard.Web/Core/Dashboard/Views/Admin/Index.ascx index a730054ea..4b5852427 100644 --- a/src/Orchard.Web/Core/Dashboard/Views/Admin/Index.ascx +++ b/src/Orchard.Web/Core/Dashboard/Views/Admin/Index.ascx @@ -1,5 +1,5 @@ -<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> -<%@ Import Namespace="Orchard.Mvc.ViewModels"%> +<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> +

<%: Html.TitleForPage(T("Welcome to Orchard").ToString())%>

<%: T("This is the place where you can manage your web site, its appearance and its contents. Please take a moment to explore the different menu items on the left of the screen to familiarize yourself with the features of the application. For example, try to change the theme through the “Manage Themes” menu entry. You can also create new pages and manage existing ones through the “Manage Pages” menu entry or create blogs through “Manage Blogs”.") %>

<%: T("Have fun!") %>
<%: T("The Orchard Team") %>

diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Orchard.Themes.csproj b/src/Orchard.Web/Modules/Orchard.Themes/Orchard.Themes.csproj index f43cce0be..d433d8c4a 100644 --- a/src/Orchard.Web/Modules/Orchard.Themes/Orchard.Themes.csproj +++ b/src/Orchard.Web/Modules/Orchard.Themes/Orchard.Themes.csproj @@ -130,6 +130,7 @@ + diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Views/Document.cshtml b/src/Orchard.Web/Modules/Orchard.Themes/Views/Document.cshtml index 86af52f02..4fa453beb 100644 --- a/src/Orchard.Web/Modules/Orchard.Themes/Views/Document.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Themes/Views/Document.cshtml @@ -1,4 +1,8 @@ @using Orchard.Mvc.Html +@{ + Model.Body.Add(Model.Metadata.ChildContent, "5"); +} + @//"en" needs to change to the current culture, btw @//all inline styles for tmp reference only @@ -18,7 +22,7 @@

document template

-@Html.RenderOrchardBody() + @Display(Model.Body)
diff --git a/src/Orchard.Web/Modules/Orchard.Themes/Views/Zone.cshtml b/src/Orchard.Web/Modules/Orchard.Themes/Views/Zone.cshtml new file mode 100644 index 000000000..6a4496482 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Themes/Views/Zone.cshtml @@ -0,0 +1,9 @@ +@{ + var id = Model.Id; + if (id == null) { + id = (Model.Parent.Id == null ? "" : Model.Parent.Id + "-") + "Zone-" + Model.ZoneName; + } +} +
+ @foreach (var item in Model) {@Display(item)} +
diff --git a/src/Orchard.Web/Orchard.Web.csproj b/src/Orchard.Web/Orchard.Web.csproj index 61f28d619..34e2a9e37 100644 --- a/src/Orchard.Web/Orchard.Web.csproj +++ b/src/Orchard.Web/Orchard.Web.csproj @@ -309,7 +309,9 @@ - + + + diff --git a/src/Orchard.Web/Themes/SafeMode/Views/Zone.ascx b/src/Orchard.Web/Themes/SafeMode/Views/Zone.ascx index d7537aeca..68f13e147 100644 --- a/src/Orchard.Web/Themes/SafeMode/Views/Zone.ascx +++ b/src/Orchard.Web/Themes/SafeMode/Views/Zone.ascx @@ -1,4 +1,4 @@ <%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> -
+
<%foreach (var item in Model) {%><%:Display(item)%><%}%> -
+
diff --git a/src/Orchard.Web/Themes/TheAdmin/Views/Layout.ascx b/src/Orchard.Web/Themes/TheAdmin/Views/Layout.ascx index d0ebfcc20..1020e2409 100644 --- a/src/Orchard.Web/Themes/TheAdmin/Views/Layout.ascx +++ b/src/Orchard.Web/Themes/TheAdmin/Views/Layout.ascx @@ -1,17 +1,19 @@ -<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> -<%@ Import Namespace="Orchard.Mvc.ViewModels"%><% +<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> +<% +Model.Content.Add(Model.Metadata.ChildContent, "5"); + Html.RegisterStyle("site.css", "1"); Html.RegisterStyle("ie.css", "1").WithCondition("if (lte IE 8)").ForMedia("screen, projection"); Html.RegisterStyle("ie6.css", "1").WithCondition("if (lte IE 6)").ForMedia("screen, projection"); Html.RegisterFootScript("admin.js", "1"); -Model.Zones.AddRenderPartial("header", "Header", Model); -Model.Zones.AddRenderPartial("header:after", "User", Model); // todo: (heskew) should be a user display or widget -Model.Zones.AddRenderPartial("menu", "Menu", Model); +//Model.Zones.AddRenderPartial("header", "Header", Model); +//Model.Zones.AddRenderPartial("header:after", "User", Model); // todo: (heskew) should be a user display or widget +//Model.Zones.AddRenderPartial("menu", "Menu", Model); %> - +
- -
<% Html.ZoneBody("content"); %>
- + +
<%: Display(Model.Content) %>
+
- \ No newline at end of file + diff --git a/src/Orchard.Web/Themes/TheAdmin/Views/Menu.ascx b/src/Orchard.Web/Themes/TheAdmin/Views/Menu.ascx_ similarity index 94% rename from src/Orchard.Web/Themes/TheAdmin/Views/Menu.ascx rename to src/Orchard.Web/Themes/TheAdmin/Views/Menu.ascx_ index e26e738ca..37db5707c 100644 --- a/src/Orchard.Web/Themes/TheAdmin/Views/Menu.ascx +++ b/src/Orchard.Web/Themes/TheAdmin/Views/Menu.ascx_ @@ -1,7 +1,8 @@ -<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> +<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> <%@ Import Namespace="Orchard.Mvc.ViewModels"%> -