diff --git a/src/Orchard.Web/Orchard.Web.csproj b/src/Orchard.Web/Orchard.Web.csproj index ab913e71d..3aa0d79b6 100644 --- a/src/Orchard.Web/Orchard.Web.csproj +++ b/src/Orchard.Web/Orchard.Web.csproj @@ -146,7 +146,7 @@ Designer - + @@ -318,7 +318,7 @@ - + Designer diff --git a/src/Orchard.Web/Themes/TheThemeMachine/Views/Layout.cshtml b/src/Orchard.Web/Themes/TheThemeMachine/Views/Layout.cshtml index ec69a24c1..837c808bf 100644 --- a/src/Orchard.Web/Themes/TheThemeMachine/Views/Layout.cshtml +++ b/src/Orchard.Web/Themes/TheThemeMachine/Views/Layout.cshtml @@ -14,7 +14,6 @@ WorkContext.Layout.Featured.Add(New.TempFeatured(Hello:"bob")); WorkContext.Layout.Featured.Add("just some text in featured"); } -@Model.TitleFromMenu
@Display.User()
diff --git a/src/Orchard.Web/Themes/TheThemeMachine/Views/Menu.cshtml_ b/src/Orchard.Web/Themes/TheThemeMachine/Views/Menu.cshtml similarity index 100% rename from src/Orchard.Web/Themes/TheThemeMachine/Views/Menu.cshtml_ rename to src/Orchard.Web/Themes/TheThemeMachine/Views/Menu.cshtml diff --git a/src/Orchard.Web/Themes/TheThemeMachine/Views/MenuItem.cshtml_ b/src/Orchard.Web/Themes/TheThemeMachine/Views/MenuItem.cshtml similarity index 88% rename from src/Orchard.Web/Themes/TheThemeMachine/Views/MenuItem.cshtml_ rename to src/Orchard.Web/Themes/TheThemeMachine/Views/MenuItem.cshtml index 282250443..0ea390f6b 100644 --- a/src/Orchard.Web/Themes/TheThemeMachine/Views/MenuItem.cshtml_ +++ b/src/Orchard.Web/Themes/TheThemeMachine/Views/MenuItem.cshtml @@ -3,7 +3,7 @@ var items = (IEnumerable)Enumerable.Cast(Model); } @{ -if (HasText(Model.Text)) { +if (!HasText(Model.Text)) { @DisplayChildren(Model) } else {
  • @Model.Text diff --git a/src/Orchard/Mvc/ViewEngines/Razor/WebViewPage.cs b/src/Orchard/Mvc/ViewEngines/Razor/WebViewPage.cs index 8b9cead83..2224225c2 100644 --- a/src/Orchard/Mvc/ViewEngines/Razor/WebViewPage.cs +++ b/src/Orchard/Mvc/ViewEngines/Razor/WebViewPage.cs @@ -4,12 +4,14 @@ using System.Web.Mvc; using System.Web.WebPages; using Autofac; using Orchard.DisplayManagement; +using Orchard.DisplayManagement.Shapes; using Orchard.Localization; using Orchard.Mvc.Html; using Orchard.Mvc.Spooling; using Orchard.Security; using Orchard.Security.Permissions; using Orchard.UI.Resources; +using TagBuilder = System.Web.Mvc.TagBuilder; namespace Orchard.Mvc.ViewEngines.Razor { @@ -24,7 +26,8 @@ namespace Orchard.Mvc.ViewEngines.Razor { public Localizer T { get { return _localizer; } } public dynamic Display { get { return _display; } } - public dynamic Layout { get { return _layout; } } + // review: (heskew) is it going to be a problem? + public new dynamic Layout { get { return _layout; } } public WorkContext WorkContext { get { return _workContext; } } public dynamic New { get { return _new; } } @@ -83,6 +86,14 @@ namespace Orchard.Mvc.ViewEngines.Razor { return Authorizer.Authorize(permission); } + public bool HasText(object thing) { + return !string.IsNullOrWhiteSpace(thing as string); + } + + public TagBuilder Tag(dynamic shape, string tagName) { + return Html.Resolve().Create(shape, tagName); + } + public IHtmlString DisplayChildren(dynamic shape) { var writer = new HtmlStringWriter(); foreach (var item in shape) { diff --git a/src/Orchard/Mvc/ViewPage.cs b/src/Orchard/Mvc/ViewPage.cs index 032b2fdb6..1c29ffdea 100644 --- a/src/Orchard/Mvc/ViewPage.cs +++ b/src/Orchard/Mvc/ViewPage.cs @@ -5,12 +5,14 @@ using System.Web.Mvc; using System.Web.UI; using Autofac; using Orchard.DisplayManagement; +using Orchard.DisplayManagement.Shapes; using Orchard.Localization; using Orchard.Mvc.Html; using Orchard.Mvc.Spooling; using Orchard.Security; using Orchard.Security.Permissions; using Orchard.UI.Resources; +using TagBuilder = System.Web.Mvc.TagBuilder; namespace Orchard.Mvc { public class ViewPage : System.Web.Mvc.ViewPage, IOrchardViewPage { @@ -19,6 +21,7 @@ namespace Orchard.Mvc { private object _display; private Localizer _localizer = NullLocalizer.Instance; + private object _layout; private WorkContext _workContext; public Localizer T { get { return _localizer; } } @@ -29,7 +32,8 @@ namespace Orchard.Mvc { (_scriptRegister = new ViewPageScriptRegister(Writer, Html.ViewDataContainer, Html.Resolve())); } } - + + public dynamic Layout { get { return _layout; } } public WorkContext WorkContext { get { return _workContext; } } public IDisplayHelperFactory DisplayHelperFactory { get; set; } @@ -52,6 +56,7 @@ namespace Orchard.Mvc { _localizer = LocalizationUtilities.Resolve(ViewContext, AppRelativeVirtualPath); _display = DisplayHelperFactory.CreateHelper(ViewContext, this); + _layout = _workContext.Layout; } public virtual void RegisterLink(LinkEntry link) { @@ -80,7 +85,15 @@ namespace Orchard.Mvc { public bool AuthorizedFor(Permission permission) { return Authorizer.Authorize(permission); - } + } + + public bool HasText(object thing) { + return !string.IsNullOrWhiteSpace(thing as string); + } + + public TagBuilder Tag(dynamic shape, string tagName) { + return Html.Resolve().Create(shape, tagName); + } public IHtmlString DisplayChildren(dynamic shape) { var writer = new HtmlStringWriter(); diff --git a/src/Orchard/Mvc/ViewUserControl.cs b/src/Orchard/Mvc/ViewUserControl.cs index 0513db46c..1d7f475dd 100644 --- a/src/Orchard/Mvc/ViewUserControl.cs +++ b/src/Orchard/Mvc/ViewUserControl.cs @@ -3,12 +3,14 @@ using System.Web; using System.Web.Mvc; using Autofac; using Orchard.DisplayManagement; +using Orchard.DisplayManagement.Shapes; using Orchard.Localization; using Orchard.Mvc.Html; using Orchard.Mvc.Spooling; using Orchard.Security; using Orchard.Security.Permissions; using Orchard.UI.Resources; +using TagBuilder = System.Web.Mvc.TagBuilder; namespace Orchard.Mvc { public class ViewUserControl : System.Web.Mvc.ViewUserControl,IOrchardViewPage { @@ -18,11 +20,13 @@ namespace Orchard.Mvc { private object _display; private object _new; private Localizer _localizer = NullLocalizer.Instance; + private object _layout; private WorkContext _workContext; public Localizer T { get { return _localizer; } } public dynamic Display { get { return _display; } } public dynamic New { get { return _new; } } + public dynamic Layout { get { return _layout; } } public WorkContext WorkContext { get { return _workContext; } } public IDisplayHelperFactory DisplayHelperFactory { get; set; } @@ -70,6 +74,7 @@ namespace Orchard.Mvc { _localizer = LocalizationUtilities.Resolve(viewContext, AppRelativeVirtualPath); _display = DisplayHelperFactory.CreateHelper(viewContext, this); + _layout = _workContext.Layout; _new = ShapeHelperFactory.CreateHelper(); base.RenderView(viewContext); @@ -83,6 +88,14 @@ namespace Orchard.Mvc { return Authorizer.Authorize(permission); } + public bool HasText(object thing) { + return !string.IsNullOrWhiteSpace(thing as string); + } + + public TagBuilder Tag(dynamic shape, string tagName) { + return Html.Resolve().Create(shape, tagName); + } + public IHtmlString DisplayChildren(dynamic shape) { var writer = new HtmlStringWriter(); foreach (var item in shape) {