Sitecore Workbox Extend";请输入一条注释";弹出窗口

Sitecore Workbox Extend";请输入一条注释";弹出窗口,sitecore,Sitecore,在Sitecore workbox命令中,我们可以取消选中“抑制注释”复选框,当执行特定的workbox操作时,它会在弹出窗口中请求注释。在这方面,我想让用户知道,通过显示一些自定义文本,键入注释是必需的。这可能吗?这是一篇关于在拒绝某个项目时强制评论的博客文章。您也可以轻松地将其用于您的目的: 如果需要在用户尝试执行工作流命令之前显示消息,则可以覆盖SitecoreWorkbox.xml控件,并在其代码隐藏中覆盖Comment方法,并更改“输入注释:为所需内容。原始方法代码为: public

在Sitecore workbox命令中,我们可以取消选中“抑制注释”复选框,当执行特定的workbox操作时,它会在弹出窗口中请求注释。在这方面,我想让用户知道,通过显示一些自定义文本,键入注释是必需的。这可能吗?

这是一篇关于在拒绝某个项目时强制评论的博客文章。您也可以轻松地将其用于您的目的:

如果需要在用户尝试执行工作流命令之前显示消息,则可以覆盖Sitecore
Workbox.xml
控件,并在其代码隐藏中覆盖
Comment
方法,并更改
“输入注释:
为所需内容。原始方法代码为:

public void注释(ClientPipelineArgs args)
{
Assert.ArgumentNotNull((object)args,“args”);
如果(!args.IsPostBack)
{
Context.ClientPage.ClientResponse.Input(“输入注释:”,string.Empty);
args.WaitForPostBack();
}
否则如果(args.Result.Length>2000)
{
Context.ClientPage.ClientResponse.bathror(新的异常(string.Format(“注释太长。\n\n您输入了{0}个字符。\n注释不能包含超过2000个字符。”,(object)args.Result.Length));
Context.ClientPage.ClientResponse.Input(“输入注释:”,string.Empty);
args.WaitForPostBack();
}
其他的
{
if(args.Result==null | |!(args.Result!=“null”)| |!(args.Result!=“未定义”))
返回;
IWorkflowProvider workflowProvider=Context.ContentDatabase.workflowProvider;
if(workflowProvider==null)
返回;
IWorkflow workflow=workflowProvider.GetWorkflow(Context.ClientPage.ServerProperties[“workflowid”]作为字符串);
如果(工作流==null)
返回;
Item obj=Context.ContentDatabase.Items[(Context.ClientPage.ServerProperties[“id”]??(object)string.Empty).ToString()、Language.Parse(Context.ClientPage.ServerProperties[“Language”]作为string)、Sitecore.Data.Version.Parse(Context.ClientPage.ServerProperties[“Version”]作为string)];
if(obj==null)
返回;
尝试
{
workflow.Execute(Context.ClientPage.ServerProperties[“command”]作为字符串、obj、args.Result、true、新对象[0]);
}
捕获(WorkflowStateMissingException ex)
{
SheerResponse.Alert(“一个或多个项目无法处理,因为其工作流状态未指定下一步。”,新字符串[0]);
}
UrlString UrlString=新的UrlString(WebUtil.GetRawUrl());
URL字符串[“重新加载”]=“1”;
Context.ClientPage.ClientResponse.SetLocation(urlString.ToString());
}
}

感谢您的回复。我们实际上在做完全相同的事情。但客户希望提前通知用户,因为警告信息会出现在一个单独的弹出窗口中。@Kasunjaasinghe我已经更新了我的答案。它现在回答了你的问题吗?是的,玛拉斯,它完全回答了我的问题。非常感谢。