【发布时间】:2012-06-27 16:45:02
【问题描述】:
我正在使用 SDL Tridion 2011 SP1 构建一个 GUI 扩展。当编辑器点击新的“保存和评论”按钮时,我想收集一些用户输入。此按钮将收集一些用户输入,然后触发 CME 的内置保存命令。
然后使用事件处理程序,我想捕获该用户输入,并对其进行一些自定义处理。我的简单事件处理程序如下:
using System;
using System.Text;
using Tridion.ContentManager.Extensibility.Events;
using Tridion.ContentManager.Extensibility;
using Tridion.ContentManager.ContentManagement;
using System.IO;
namespace UrbanCherry.Net.SDLTridion.EventHandlers
{
[TcmExtension("VersionCommenting")]
public class VersionCommenting : TcmExtension
{
public VersionCommenting()
{
Subscribe();
}
public void Subscribe()
{
EventSystem.Subscribe<Component, SaveEventArgs>(AddCommentToItemVersion,
EventPhases.Initiated);
}
private void AddCommentToItemVersion(Component source, SaveEventArgs args,
EventPhases phase)
{
//Do some work here
}
}
}
我的 GUI 扩展是否可以使用 args.ContextVariables 或其他方法以某种方式向 SaveEventArgs 添加值?
【问题讨论】:
-
我不建议在事件之间混合状态,如果多个人(几乎)同时单击“保存和评论”按钮会发生什么,您将如何跟踪这些?
-
您打算将评论保存在元数据字段中吗?
-
我实际上希望将它保存在用于回滚/转发的评论字段中,但这是下一个挑战
标签: tridion tridion-2011