mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-23 21:13:35 +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="Navigation\Views\Web.config" />
|
||||||
<Content Include="Themes\Scripts\jquery-1.4.1.js" />
|
<Content Include="Themes\Scripts\jquery-1.4.1.js" />
|
||||||
<Content Include="Themes\Scripts\jquery-1.4.1.min.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>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Scheduling\Controllers\" />
|
<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"
|
DisplayName = "User Profile"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
protected override bool UseDefaultTemplate { get { return true; } }
|
||||||
|
|
||||||
protected override ContentType GetContentType() {
|
protected override ContentType GetContentType() {
|
||||||
return ContentType;
|
return ContentType;
|
||||||
}
|
}
|
||||||
@@ -29,13 +31,5 @@ namespace Orchard.Users.Controllers {
|
|||||||
{"Id", item.ContentItem.Id},
|
{"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\inputPasswordLarge.ascx" />
|
||||||
<Content Include="Views\Admin\EditorTemplates\inputTextLarge.ascx" />
|
<Content Include="Views\Admin\EditorTemplates\inputTextLarge.ascx" />
|
||||||
<Content Include="Views\Admin\Index.aspx" />
|
<Content Include="Views\Admin\Index.aspx" />
|
||||||
<Content Include="Views\EditorTemplates\Items\Users.User.ascx" />
|
|
||||||
<Content Include="Web.config" />
|
<Content Include="Web.config" />
|
||||||
<Content Include="Views\Web.config" />
|
<Content Include="Views\Web.config" />
|
||||||
</ItemGroup>
|
</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 {
|
public abstract class ContentItemDriver<TContent> : ContentPartDriver<TContent>, IContentItemDriver where TContent : class, IContent {
|
||||||
private readonly ContentType _contentType;
|
private readonly ContentType _contentType;
|
||||||
|
protected virtual bool UseDefaultTemplate { get { return false; } }
|
||||||
|
|
||||||
public ContentItemDriver() {
|
public ContentItemDriver() {
|
||||||
}
|
}
|
||||||
@@ -76,12 +77,18 @@ namespace Orchard.ContentManagement.Drivers {
|
|||||||
protected virtual RouteValueDictionary GetDisplayRouteValues(TContent item) { return null; }
|
protected virtual RouteValueDictionary GetDisplayRouteValues(TContent item) { return null; }
|
||||||
protected virtual RouteValueDictionary GetEditorRouteValues(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 Display(ContentItemViewModel<TContent> viewModel, string displayType) { return GetDefaultItemTemplate(); }
|
||||||
protected virtual DriverResult Editor(ContentItemViewModel<TContent> viewModel) { return null; }
|
protected virtual DriverResult Editor(ContentItemViewModel<TContent> viewModel) { return GetDefaultItemTemplate(); }
|
||||||
protected virtual DriverResult Editor(ContentItemViewModel<TContent> viewModel, IUpdateModel updater) { return null; }
|
protected virtual DriverResult Editor(ContentItemViewModel<TContent> viewModel, IUpdateModel updater) { return GetDefaultItemTemplate(); }
|
||||||
|
|
||||||
public ContentItemTemplateResult<TContent> ContentItemTemplate(string templateName) {
|
public ContentItemTemplateResult<TContent> ContentItemTemplate(string templateName) {
|
||||||
return new ContentItemTemplateResult<TContent>(templateName);
|
return new ContentItemTemplateResult<TContent>(templateName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private DriverResult GetDefaultItemTemplate() {
|
||||||
|
return UseDefaultTemplate
|
||||||
|
? ContentItemTemplate("Items/ContentItem")
|
||||||
|
: null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user