mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-22 20:13:50 +08:00
Adding generic ContentItem editor and display templates
- ContentItem editor and display templates added that only render the "primary" zone, then remaining zones (ZonesAny) - Added a UseDefaultTemplate bool to ContentItemDriver and conditionally return the default template for Display or Edit - Updated the UserDriver to use the default templates - --HG-- branch : dev
This commit is contained in:
@@ -218,6 +218,8 @@
|
||||
<Content Include="Navigation\Views\Web.config" />
|
||||
<Content Include="Themes\Scripts\jquery-1.4.1.js" />
|
||||
<Content Include="Themes\Scripts\jquery-1.4.1.min.js" />
|
||||
<Content Include="Themes\Views\EditorTemplates\Items\ContentItem.ascx" />
|
||||
<Content Include="Themes\Views\DisplayTemplates\Items\ContentItem.ascx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Scheduling\Controllers\" />
|
||||
|
@@ -0,0 +1,4 @@
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<ContentItemViewModel>" %>
|
||||
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||
<% Html.Zone("primary");
|
||||
Html.ZonesAny(); %>
|
@@ -0,0 +1,4 @@
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<ContentItemViewModel>" %>
|
||||
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||
<% Html.Zone("primary");
|
||||
Html.ZonesAny(); %>
|
@@ -12,6 +12,8 @@ namespace Orchard.Users.Controllers {
|
||||
DisplayName = "User Profile"
|
||||
};
|
||||
|
||||
protected override bool UseDefaultTemplate { get { return true; } }
|
||||
|
||||
protected override ContentType GetContentType() {
|
||||
return ContentType;
|
||||
}
|
||||
@@ -29,13 +31,5 @@ namespace Orchard.Users.Controllers {
|
||||
{"Id", item.ContentItem.Id},
|
||||
};
|
||||
}
|
||||
|
||||
protected override DriverResult Editor(User part) {
|
||||
return ContentItemTemplate("Items/Users.User");
|
||||
}
|
||||
|
||||
protected override DriverResult Editor(User part, IUpdateModel updater) {
|
||||
return ContentItemTemplate("Items/Users.User");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -88,7 +88,6 @@
|
||||
<Content Include="Views\Admin\EditorTemplates\inputPasswordLarge.ascx" />
|
||||
<Content Include="Views\Admin\EditorTemplates\inputTextLarge.ascx" />
|
||||
<Content Include="Views\Admin\Index.aspx" />
|
||||
<Content Include="Views\EditorTemplates\Items\Users.User.ascx" />
|
||||
<Content Include="Web.config" />
|
||||
<Content Include="Views\Web.config" />
|
||||
</ItemGroup>
|
||||
|
@@ -1,4 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ContentItemViewModel<User>>" %>
|
||||
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||
<%@ Import Namespace="Orchard.Users.Models"%>
|
||||
<% Html.ZonesAny(); %>
|
@@ -16,6 +16,7 @@ namespace Orchard.ContentManagement.Drivers {
|
||||
|
||||
public abstract class ContentItemDriver<TContent> : ContentPartDriver<TContent>, IContentItemDriver where TContent : class, IContent {
|
||||
private readonly ContentType _contentType;
|
||||
protected virtual bool UseDefaultTemplate { get { return false; } }
|
||||
|
||||
public ContentItemDriver() {
|
||||
}
|
||||
@@ -76,12 +77,18 @@ namespace Orchard.ContentManagement.Drivers {
|
||||
protected virtual RouteValueDictionary GetDisplayRouteValues(TContent item) { return null; }
|
||||
protected virtual RouteValueDictionary GetEditorRouteValues(TContent item) { return null; }
|
||||
|
||||
protected virtual DriverResult Display(ContentItemViewModel<TContent> viewModel, string displayType) { return null; }
|
||||
protected virtual DriverResult Editor(ContentItemViewModel<TContent> viewModel) { return null; }
|
||||
protected virtual DriverResult Editor(ContentItemViewModel<TContent> viewModel, IUpdateModel updater) { return null; }
|
||||
protected virtual DriverResult Display(ContentItemViewModel<TContent> viewModel, string displayType) { return GetDefaultItemTemplate(); }
|
||||
protected virtual DriverResult Editor(ContentItemViewModel<TContent> viewModel) { return GetDefaultItemTemplate(); }
|
||||
protected virtual DriverResult Editor(ContentItemViewModel<TContent> viewModel, IUpdateModel updater) { return GetDefaultItemTemplate(); }
|
||||
|
||||
public ContentItemTemplateResult<TContent> ContentItemTemplate(string templateName) {
|
||||
return new ContentItemTemplateResult<TContent>(templateName);
|
||||
}
|
||||
|
||||
private DriverResult GetDefaultItemTemplate() {
|
||||
return UseDefaultTemplate
|
||||
? ContentItemTemplate("Items/ContentItem")
|
||||
: null;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user