From fe55012b778e578411e9a3fcd2698c53f6038df7 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Thu, 25 Feb 2010 14:44:27 -0800 Subject: [PATCH] Adding simple support for Module (area) specific layout templates In a ("Layout.{0}", areaRouteValue) file naming convention fashion --HG-- branch : dev --- src/Orchard/Mvc/ViewEngines/LayoutViewEngine.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Orchard/Mvc/ViewEngines/LayoutViewEngine.cs b/src/Orchard/Mvc/ViewEngines/LayoutViewEngine.cs index 190873486..7113fd46b 100644 --- a/src/Orchard/Mvc/ViewEngines/LayoutViewEngine.cs +++ b/src/Orchard/Mvc/ViewEngines/LayoutViewEngine.cs @@ -33,7 +33,13 @@ namespace Orchard.Mvc.ViewEngines { var bodyView = _viewEngines.FindPartialView(controllerContext, viewName); - var layoutView = _viewEngines.FindPartialView(controllerContext, "Layout"); + + ViewEngineResult layoutView = null; + if (!string.IsNullOrEmpty(controllerContext.RouteData.Values["area"] as string)) + layoutView = _viewEngines.FindPartialView(controllerContext, string.Format("Layout.{0}", controllerContext.RouteData.Values["area"])); + if (layoutView == null || layoutView.View == null) + layoutView = _viewEngines.FindPartialView(controllerContext, "Layout"); + var documentView = _viewEngines.FindPartialView(controllerContext, "Document"); if (bodyView.View == null ||