Sitecore的工作箱似乎只能显示sitecore / system / workflows中工作流程中的项目。有没有办法让它在树的其他部分显示工作流程?我已经能够解决将工作流程移出该位置的几个问题,但这个问题是当前的难点。
我们的网站针对不同的客户分为几个部分(在“客户”意义上)。每个客户都需要自己的工作流程,我们希望他们能够导航到工作流程,而不必离开树的内容部分并进入系统部分。理想情况下,我们也希望尽可能多地移动每个客户的自定义内容,例如布局,渲染等,因为我们可以进入内容区域,以便我们或他们可以发布一个节点和子项,并将与该客户端相关的所有内容上线,就像我猜测大多数人使用“发布站点”功能。
答案 0 :(得分:4)
我很好奇你到目前为止做了些什么来缓解这个问题。使用反射器,我搜索了工作流根项的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
是位于IWorkflowProvider
的配置元素。
简而言之,如果您还没有,则应尝试实现扩展Sitecore.Workflows.Simple.WorkflowProvider
的自己的GetWorkflows()
并在Web.config中对其进行配置。覆盖{{1}}以查找您要查找的位置的工作流程。使用像reactor或ILSpy这样的工具来查看当前该方法的作用,并进行必要的更改。
请报告(如果可以,请发布博客!)。这不是Sitecore的一个领域,我认为很多人通常会扩展/增强。