tridion - 事件不起作用

标签 tridion tridion-2011

我是 Tridion 事件系统的新手。我写了一个小代码。

[TcmExtension("MyEventHandlerExtension")]
public class EH : TcmExtension
{
    public EH()
    {
        Subscribe();
    }
    public void Subscribe()
    {
        //EventSystem.Subscribe<Component, DeleteEventArgs>(HandlerForInitiated, EventPhases.Initiated);
        EventSystem.Subscribe<Tridion.ContentManager.CommunicationManagement.Page, Tridion.ContentManager.Extensibility.Events.PublishOrUnPublishEventArgs>(HandlerForCommitted, EventPhases.All);
    }

    private void HandlerForCommitted(IdentifiableObject subject, PublishOrUnPublishEventArgs args, EventPhases phase)
    {

        TDSE obj = new TDSE();
        Tridion.ContentManager.Interop.TDS.Publication pub = obj.GetPublication("tcm:0-150-1");
        Tridion.ContentManager.Interop.TDS.Page pubPage = obj.GetPage("tcm:150-12374-64", pub);
        pubPage.Publish("tcm:0-1-65538", false, true, false, default(DateTime), default(DateTime), default(DateTime));

    }
}

使用此代码,我想在每次发生发布和取消发布事件时发布一个页面。
我构建了这段代码并在 tridion 配置文件中注册了它的路径。
但它不起作用。请帮助

最佳答案

好的,首先删除您所有的 TDSE 代码,您应该使用 TOM.NET。您可以获得 session subject.Session
然后确保您已在 Tridion.ContentManager.config 中注册了此扩展程序并重新启动您的系统

最后 - 如果某些东西不起作用,只需添加简单的代码即可在您的 HandlerForCommitted 中创建一个文件。每当事件发生时,这样您就可以看到您的扩展是否被执行。

关于tridion - 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13157536/

相关文章:

tridion - 扩展当前发布/取消发布屏幕

tridion - 在 SDL Trdion 2011 Sp1 的 Dreamweaver TBB 中引用来自 Tradion 服务器的图像文件

tridion - 在本地化时更新组件的自定义事件代码

tridion - 在 SDL Tridion 2011 GA 发布队列中,是否可以将 "user"默认为事件登录?

tridion - 如何在不覆盖所有其他设置的情况下将子发布或其他发布的 dcp 设置到不同的位置

installation - 是否可以强制 Tridion 2011 SP1 安装程序覆盖文件?

tridion - 从 Eclipse 运行自定义部署程序

tridion - 将 Tridion 组件转储为 XML

tridion - 我使用 TcmUploadAssembly 时遇到 "a non-generated template is already present"错误

XSLT:如何从 xml 字符串中排除某些 html 标签?