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



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

我试图实现的是在每个用户保存点击时将次要版本保持在 0.1。

我已经尝试了保存后预保存、预签入和签入后并更改了执行顺序,即事件系统订阅调用的最后一个参数,但没有任何帮助。所以请帮助:)

为什么要在事件中调用 Save()?如果您在保存页面之前进行更改,那么它应该一次性存储所有内容,而无需调用 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;
}

这将更改页面标题,正如您所看到的,我不调用 Save,因为编辑器已经这样做了。

最新更新