diff --git a/src/Orchard.Web/Core/Common/Shapes.cs b/src/Orchard.Web/Core/Common/Shapes.cs index ff121cd39..d663fca35 100644 --- a/src/Orchard.Web/Core/Common/Shapes.cs +++ b/src/Orchard.Web/Core/Common/Shapes.cs @@ -2,17 +2,26 @@ using System; using System.Web; using System.Web.Mvc; using Orchard.DisplayManagement; +using Orchard.DisplayManagement.Descriptors; using Orchard.Localization; using Orchard.Mvc.Html; namespace Orchard.Core.Common { - public class Shapes : IDependency { + public class Shapes : IShapeTableProvider { public Shapes() { T = NullLocalizer.Instance; } public Localizer T { get; set; } + public void Discover(ShapeTableBuilder builder) { + builder.Describe("Fields_Common_Text") + .OnDisplaying(displaying => { + string textFieldName = displaying.Shape.Name; + displaying.ShapeMetadata.Alternates.Add("Fields_Common_Text__" + textFieldName); + }); + } + [Shape] public IHtmlString PublishedState(HtmlHelper Html, DateTime? dateTimeUtc) { return Html.DateTime(dateTimeUtc, T("Draft")); @@ -20,12 +29,10 @@ namespace Orchard.Core.Common { [Shape] public IHtmlString PublishedWhen(dynamic Display, DateTime? dateTimeUtc) { - if (dateTimeUtc == null) { + if (dateTimeUtc == null) return T("as a Draft"); - } - else { - return Display.DateTimeRelative(dateTimeUtc: dateTimeUtc); - } + + return Display.DateTimeRelative(dateTimeUtc: dateTimeUtc); } } } diff --git a/src/Orchard.Web/Core/Shapes/CoreShapes.cs b/src/Orchard.Web/Core/Shapes/CoreShapes.cs index ed1bd9c2c..7fa145711 100644 --- a/src/Orchard.Web/Core/Shapes/CoreShapes.cs +++ b/src/Orchard.Web/Core/Shapes/CoreShapes.cs @@ -51,7 +51,7 @@ namespace Orchard.Core.Shapes { .OnCreating(creating => creating.BaseType = typeof(Zone)) .OnDisplaying(displaying => { var zone = displaying.Shape; - zone.Classes.Add("zone-" + zone.ZoneName.ToLower()); + zone.Classes.Add("zone-" + zone.ZoneName.HtmlClassify()); zone.Classes.Add("zone"); zone.Metadata.Alternates.Add("Zone__" + zone.ZoneName); }); @@ -59,7 +59,7 @@ namespace Orchard.Core.Shapes { builder.Describe("Menu") .OnDisplaying(displaying => { var menu = displaying.Shape; - menu.Classes.Add("menu-" + menu.MenuName.ToLower()); + menu.Classes.Add("menu-" + menu.MenuName.HtmlClassify()); menu.Classes.Add("menu"); menu.Metadata.Alternates.Add("Menu__" + menu.MenuName); }); diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Shapes.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Shapes.cs index 45b2a5466..0e983b9e6 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Shapes.cs +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Shapes.cs @@ -1,5 +1,6 @@ using Orchard.ContentManagement; using Orchard.DisplayManagement.Descriptors; +using Orchard.Utility.Extensions; using Orchard.Widgets.Models; namespace Orchard.Widgets { @@ -16,8 +17,13 @@ namespace Orchard.Widgets { widget.Child.Add(created.New.PlaceChildContent(Source: widget)); }) .OnDisplaying(displaying => { + var widget = displaying.Shape; + widget.Classes.Add("widget"); + ContentItem contentItem = displaying.Shape.ContentItem; if (contentItem != null) { + widget.Classes.Add("widget-" + contentItem.ContentType.HtmlClassify()); + var zoneName = contentItem.As().Zone; displaying.ShapeMetadata.Alternates.Add("Widget__" + contentItem.ContentType); displaying.ShapeMetadata.Alternates.Add("Widget__" + zoneName); diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Views/Widget.Wrapper.cshtml b/src/Orchard.Web/Modules/Orchard.Widgets/Views/Widget.Wrapper.cshtml index fe7ad8123..da87f7453 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Views/Widget.Wrapper.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Views/Widget.Wrapper.cshtml @@ -2,8 +2,9 @@ @using Orchard.Widgets.Models; @{ var title = ((IContent)Model.ContentItem).As().Title; + var tag = Tag(Model, "article"); } -
+@tag.StartElement

@title

@Display(Model.Header) @@ -14,4 +15,4 @@ @Display(Model.Footer) } -
\ No newline at end of file +@tag.EndElement \ No newline at end of file