我们正在努力在Sitecore 6.2站点的工作流程上实施一些自定义代码。我们的工作流程目前看起来像下面这样:Sitecore工作流程批准/拒绝电子邮件
我们的目标很简单:通过电子邮件发送的内容修订是否被批准或者与审稿提出的意见沿着“正在等待批准”的步骤拒绝提交。要做到这一点,我们在“批准”和“拒绝”的步骤添加动作,像这样:
我们正在试图编写代码
- 有没有按两大问题似乎没有任何简单的方法来确定选择哪个命令(解决方法是在动作步骤中传递参数,但我宁愿检测选择哪个参数)
- 我似乎无法获得评论在这个工作流程状态(我可以得到它们是下一个状态)
如需进一步而言,这里是我到目前为止的代码:
var contentItem = args.DataItem;
var contentDatabase = contentItem.Database;
var contentWorkflow = contentDatabase.WorkflowProvider.GetWorkflow(contentItem);
var contentHistory = contentWorkflow.GetHistory(contentItem);
//Get the workflow history so that we can email the last person in that chain.
if (contentHistory.Length > 0)
{
//contentWorkflow.GetCommands
var status = contentWorkflow.GetState(contentHistory[contentHistory.Length - 1].NewState);
//submitting user (string)
string lastUser = contentHistory[contentHistory.Length - 1].User;
//approve/reject comments
var message = contentHistory[contentHistory.Length - 1].Text;
//sitecore user (so we can get email address)
var submittingUser = sc.Security.Accounts.User.FromName(lastUser, false);
}
我见过以下内容,但是帮助不大:http://trac.sitecore.net/MailWorkflowAction/browser/Trunk/sources/MailAction.cs – sestocker 2011-06-13 13:28:02