Trigger4Orchard
生活随笔
收集整理的這篇文章主要介紹了
Trigger4Orchard
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
說實話,寫的太粗糙,真有點不好意思拿出來示人,可是又一想,寫都寫了,還怕給人看?!俗話有說,“丑媳婦早晚還是要見公婆”, 不是嗎?!
主要功能:通過自定義Razor(C#)表達式,對Orchard中Content的Handler添加處理程序,說白了,就是在內容有新建,發布等時,可以自已干點啥,比如:通過輸入的內容創建另外類型的內容。
支持IContentHandler 定義的全部事件:
namespace Orchard.ContentManagement.Handlers {public interface IContentHandler : IDependency {void Activating(ActivatingContentContext context);void Activated(ActivatedContentContext context);void Initializing(InitializingContentContext context);void Creating(CreateContentContext context);void Created(CreateContentContext context);void Loading(LoadContentContext context);void Loaded(LoadContentContext context);void Versioning(VersionContentContext context);void Versioned(VersionContentContext context);void Publishing(PublishContentContext context);void Published(PublishContentContext context);void Unpublishing(PublishContentContext context);void Unpublished(PublishContentContext context);void Removing(RemoveContentContext context);void Removed(RemoveContentContext context);void Indexing(IndexContentContext context);void Indexed(IndexContentContext context);void Importing(ImportContentContext context);void Imported(ImportContentContext context);void Exporting(ExportContentContext context);void Exported(ExportContentContext context);void GetContentItemMetadata(GetContentItemMetadataContext context);void BuildDisplay(BuildDisplayContext context);void BuildEditor(BuildEditorContext context);void UpdateEditor(UpdateEditorContext context);} }
如圖:
示例代碼:
Condition:
@if (Model.Content.ContentType == "Page") { @: true } else { @: false } Action:
@using Orchard; @using Orchard.Security; @using Orchard.Settings; @using Orchard.ContentManagement; @using Orchard.ContentManagement.Handlers; @using Orchard.ContentManagement.Aspects; @using Orchard.Core.Common.Models; @using RaisingStudio.Trigger.Services; @using RaisingStudio.Razor.Services; @using RaisingStudio.Trigger.Models; @using RaisingStudio.Razor.Models;@{ IContentManager contentManager = Model.ContentManager; var bodyText = Model.As<BodyPart>().Text; var razorPage = contentManager.Create<RazorContentPart>("RazorPage", VersionOptions.Draft); razorPage.Template = bodyText; contentManager.Publish(razorPage.ContentItem);@: true }
項目地址:http://trigger4orchard.codeplex.com/
Orchard Gallery下載: http://orchardproject.net/gallery/server/Package/Download/Orchard.Module.RaisingStudio.Trigger/1.0
總結
以上是生活随笔為你收集整理的Trigger4Orchard的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: proc下kcore是什么文件
- 下一篇: 2011.5.21信息系统项目管理师考试