• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
思想人生从关注生活开始
博客园    首页    新随笔    联系   管理    订阅  订阅

Sitecore方法:创建自定义工作流程

在仅发布项目的场景中,在Sitecore中创建自定义工作流可能很有用。在我的例子中,我需要发布一个子项,然后发布它的父实体,最后在初始子项上发布一个相关项。

分步指南

  1. 在中创建一个新的工作流程项目
    1. location / sitecore / system / Workflows /
    2. 模板/ sitecore / templates /系统/工作流程/工作流程
  2. 在该项目下,添加两个工作流程状态。
    1. template / sitecore / templates / System / Workflow / State
    2. 草稿状态,确保未选中最终复选框。 工作流程草案
    3. 发布状态,确保选中最后一个复选框。(这是最终的工作流程状态)工作流程发布
  3. 使用在步骤1中创建的工作流程,设置初始状态。
    1. 工作流程
    2. 初始状态应指向在步骤2.1中创建的草稿状态。
  4. 在步骤2.2中创建的草稿状态项下,添加工作流命令。
    1. template / sitecore / templates / System / Workflow / Command
    2. 将Next状态字段设置为在步骤2.3中创建的Publish状态。 工作流程草稿命令
  5. 添加发布操作以发布初始项目; 这使用Sitecore内核的发布操作。
    1. 类型应为“Sitecore.Workflows.Simple.PublishAction,Sitecore.Kernel”
  6. 发布操作后,添加自定义操作; 就我而言,它的标题是Publish Parent Entity。
    1. 工作流程自定义操作
    2. 请注意,Type字符串设置为网站项目中包含的类。
    3. 下面的代码获取正在发布的项目,然后它找到其父项并发布它。
     using Sitecore.Data.Items;
     using Sitecore.Workflows.Simple;
     using Website.Logic.Common.Extensions;
        
     namespace Website.Logic.Common.Workflow
     {
         public class PublishParentEntityAction
         {
             public PublishParentEntityAction()
             {
             }
        
             public virtual void Process(WorkflowPipelineArgs args)
             {
                 Item dataItem = args.DataItem;
        
                 var parent = dataItem.Parent;
                    
                 if (parent != null)
                 {
                     PublishUtility.PublishItem(parent);                   
                 }
             }
         }
     }
posted @ 2020-08-06 11:20  JackYang  阅读(322)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3