【问题标题】:Make workbox show workflows outside of sitecore/system/workflows使工作框显示站点核心/系统/工作流之外的工作流
【发布时间】:2011-09-29 17:39:12
【问题描述】:

Sitecore 的工作框似乎只能显示位于 sitecore/system/workflows 中的工作流中的项目。有没有办法让它在树的其他部分显示工作流?通过将工作流移出该位置,我已经能够解决几个问题,但这是当前的症结所在。

我们的网站针对不同的客户分为几个部分(在“客户”这个词的意义上)。每个客户都需要自己的工作流程,我们希望他们能够导航到工作流程,而不必离开树的内容部分并进入系统部分。理想情况下,我们还希望尽可能多地移动每个客户的自定义内容,例如布局,渲染等,因为我们可以进入内容区域,以便我们或他们可以发布该一个节点和子项,并使与该客户端相关的所有内容上线,就像我猜大多数人使用“发布站点”功能所做的那样.

【问题讨论】:

  • 有趣...为什么要将工作流移出那里?
  • 我编辑解释了原因。

标签: sitecore


【解决方案1】:

我很好奇你到目前为止做了什么来缓解这种情况。使用反射器,我搜索了工作流根项目的 GUID,{05592656-56D7-4D85-AACF-30919EE494F9}。它存储在Sitecore.ItemIDs.WorkflowRoot中,由Sitecore.Workflows.Simple.WorkflowProvider.GetWorkflows()依次使用。此方法由Sitecore.Shell.Applications.Workbox.WorkboxForm 等地方调用。但是,它是通过Context.ContentDatabase.WorkflowProvider 访问的,这是一个位于/sitecore/databases/database/workflowProvider 的配置元素。

长话短说,如果你还没有,你应该尝试实现你自己的扩展Sitecore.Workflows.Simple.WorkflowProviderIWorkflowProvider 并在你的Web.config 中配置它。覆盖 GetWorkflows() 以从您要查找的位置查找工作流。使用反射器或 ILSpy 之类的工具来查看此方法当前的作用,并进行必要的更改。

请报告(如果可以,请在博客上发布!)。这不是我认为很多人通常会扩展/增强的 Sitecore 领域。

【讨论】:

  • 优秀的答案!默认工作流提供程序易于子类化和覆盖,并且可以非常简单地扩展简单的工作流。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多