From e6c4f829a1e4894f44eed01a5a18783b5d2fed51 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Fri, 9 Aug 2013 12:47:55 -0700 Subject: [PATCH] #19285: Adding a {Content.Body} token for the Body Part Work Item: 19285 --- .../Orchard.Tokens/Providers/ContentTokens.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Orchard.Web/Modules/Orchard.Tokens/Providers/ContentTokens.cs b/src/Orchard.Web/Modules/Orchard.Tokens/Providers/ContentTokens.cs index 7c60bd7a7..96494f825 100644 --- a/src/Orchard.Web/Modules/Orchard.Tokens/Providers/ContentTokens.cs +++ b/src/Orchard.Web/Modules/Orchard.Tokens/Providers/ContentTokens.cs @@ -6,6 +6,7 @@ using Orchard.ContentManagement; using Orchard.ContentManagement.Aspects; using Orchard.ContentManagement.MetaData.Models; using Orchard.Core.Common.Fields; +using Orchard.Core.Common.Models; using Orchard.Localization; using Orchard.ContentManagement.FieldStorage; using Orchard.Mvc.Extensions; @@ -35,6 +36,7 @@ namespace Orchard.Tokens.Providers { .Token("DisplayUrl", T("Display Url"), T("Url to display the content."), "Url") .Token("EditUrl", T("Edit Url"), T("Url to edit the content."), "Url") .Token("Container", T("Container"), T("The container Content Item."), "Content") + .Token("Body", T("Body"), T("The body text of the content item."), "Content") ; // Token descriptors for fields @@ -87,6 +89,8 @@ namespace Orchard.Tokens.Providers { .Chain("EditUrl", "Url", EditUrl) .Token("Container", content => DisplayText(Container(content))) .Chain("Container", "Content", Container) + .Token("Body", Body) + .Chain("Body", "Text", Body) ; if (context.Target == "Content") { @@ -184,5 +188,18 @@ namespace Orchard.Tokens.Providers { return UrlHelper.RouteUrl(_contentManager.GetItemMetadata(content).EditorRouteValues); } + + private string Body(IContent content) { + if (content == null) { + return String.Empty; + } + + var bodyPart = content.As(); + if (bodyPart == null) { + return String.Empty; + } + + return bodyPart.Text; + } } } \ No newline at end of file