Tridion 2011工作流次要版本使用事件处理程序自定义代码递增

Roh*_*iya 5 workflow events version tridion tridion-2011

我们还有Tridion 2011和页面处理工作流程.我们在页面预保存上有事件处理程序.当用户保存页面时,调用事件处理程序来修改页面元数据并启动工作流程.因此,对于每个编辑器保存点击,页面的次要版本控制将变为0.3.所以基本上:0.1 - 页面的Tridion版本保存0.2 - 为保存页面元数据而执行的事件处理程序代码,并且由于Save()调用,此代码再次被调用以导致下一个次要版本0.3 - 执行相同的事件处理程序代码.

我想要实现的是将每个用户的次要版本保持为0.1保存点击.

我已经尝试过Pre Save Post Save,Pre Check in和Post Check in并更改了执行顺序,即事件系统订阅调用的最后一个参数,但没有任何帮助.所以pl.救命 :)

Nun*_*res 6

你为什么在活动中调用Save()?如果您在保存页面之前进行了更改,那么它应该一次性存储所有内容,而无需您调用"保存".

public PageEvent()
{
    EventSystem.Subscribe<Page, SaveEventArgs>(ChangePageTitle, EventPhases.Initiated);
}
private void ChangePageTitle(Page page, SaveEventArgs args, EventPhases phases)
{
    page.Title = "Nuno was here " + page.Title;
}
Run Code Online (Sandbox Code Playgroud)

这将改变页面标题,如你所见,我不会调用Save,因为编辑器已经这样做了.