mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-19 01:57:55 +08:00
Adding content item name and link helpers
--HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4041610
This commit is contained in:
@@ -1,7 +1,20 @@
|
||||
using System.Web.Routing;
|
||||
using Orchard.Models;
|
||||
|
||||
namespace Orchard.Wikis.Models {
|
||||
public class WikiPage : ContentPartForRecord<WikiPageRecord> {
|
||||
|
||||
public class WikiPage : ContentPartForRecord<WikiPageRecord>, IContentItemDisplay {
|
||||
|
||||
string IContentItemDisplay.DisplayText {
|
||||
get { return Record.Name; }
|
||||
}
|
||||
|
||||
RouteValueDictionary IContentItemDisplay.DisplayRouteValues() {
|
||||
return new RouteValueDictionary(new { area = "Orchard.Wikis", controller = "Page", action = "Show", id = ContentItem.Id });
|
||||
}
|
||||
|
||||
RouteValueDictionary IContentItemDisplay.EditRouteValues() {
|
||||
return new RouteValueDictionary(new { area = "Orchard.Wikis", controller = "Page", action = "Edit", id = ContentItem.Id });
|
||||
}
|
||||
|
||||
}
|
||||
}
|
9
src/Orchard/Models/IContentItemDisplay.cs
Normal file
9
src/Orchard/Models/IContentItemDisplay.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using System.Web.Routing;
|
||||
|
||||
namespace Orchard.Models {
|
||||
public interface IContentItemDisplay : IContentItemPart {
|
||||
string DisplayText { get; }
|
||||
RouteValueDictionary DisplayRouteValues();
|
||||
RouteValueDictionary EditRouteValues();
|
||||
}
|
||||
}
|
32
src/Orchard/Mvc/Html/ContentItemExtensions.cs
Normal file
32
src/Orchard/Mvc/Html/ContentItemExtensions.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Mvc.Html;
|
||||
using Orchard.Models;
|
||||
|
||||
namespace Orchard.Mvc.Html {
|
||||
public static class ContentItemExtensions {
|
||||
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, string linkText, IContentItemPart item) {
|
||||
var display = item.As<IContentItemDisplay>();
|
||||
var values = display.DisplayRouteValues();
|
||||
return html.ActionLink(linkText, Convert.ToString(values["action"]), values);
|
||||
}
|
||||
|
||||
public static MvcHtmlString ItemDisplayLink(this HtmlHelper html, IContentItemPart item) {
|
||||
var display = item.As<IContentItemDisplay>();
|
||||
var values = display.DisplayRouteValues();
|
||||
return html.ActionLink(display.DisplayText, Convert.ToString(values["action"]), values);
|
||||
}
|
||||
|
||||
public static MvcHtmlString ItemEditLink(this HtmlHelper html, string linkText, IContentItemPart item) {
|
||||
var display = item.As<IContentItemDisplay>();
|
||||
var values = display.DisplayRouteValues();
|
||||
return html.ActionLink(linkText, Convert.ToString(values["action"]), values);
|
||||
}
|
||||
|
||||
public static MvcHtmlString ItemEditLink(this HtmlHelper html, IContentItemPart item) {
|
||||
var display = item.As<IContentItemDisplay>();
|
||||
var values = display.DisplayRouteValues();
|
||||
return html.ActionLink(display.DisplayText, Convert.ToString(values["action"]), values);
|
||||
}
|
||||
}
|
||||
}
|
@@ -152,6 +152,7 @@
|
||||
<Compile Include="Models\Driver\StorageFilterBase.cs" />
|
||||
<Compile Include="Models\Driver\TemplateFilterBase.cs" />
|
||||
<Compile Include="Models\Driver\TemplateFilterForRecord.cs" />
|
||||
<Compile Include="Models\IContentItemDisplay.cs" />
|
||||
<Compile Include="Models\IContentManager.cs" />
|
||||
<Compile Include="Models\Driver\IContentHandler.cs" />
|
||||
<Compile Include="Models\ContentExtensions.cs" />
|
||||
@@ -162,6 +163,7 @@
|
||||
<Compile Include="Models\Records\ContentTypeRecord.cs" />
|
||||
<Compile Include="Models\Records\ContentItemRecord.cs" />
|
||||
<Compile Include="Models\Driver\UpdateContentContext.cs" />
|
||||
<Compile Include="Mvc\Html\ContentItemExtensions.cs" />
|
||||
<Compile Include="Mvc\MvcModule.cs" />
|
||||
<Compile Include="Mvc\Html\HtmlHelperExtensions.cs" />
|
||||
<Compile Include="Mvc\Filters\FilterProvider.cs" />
|
||||
|
Reference in New Issue
Block a user