2012-05-18 26 views
1

我有关于触发与项目关联的配置文件的问题。如果访问者访问某个页面,则会为该访问者触发与该页面关联的配置文件。触发与Sitecore中的项目关联的配置文件

如何触发与代码中的项目相关的配置文件?该项目不是一个页面。如果访问者匹配某种conidtion,我只想触发配置文件。

谢谢!

回答

2

这一切都是通过startTracking管道完成的。不幸的是,它看起来好像Sitecore已经“硬编码”了管道使用上下文项目。您应该可以通过更换ProcessItem处理器来完成此任务。

注:以下内容未经测试。

  1. 创建的Sitecore.Analytics.Pipelines.StartTracking.StartTrackingArgs子类,具有Item财产
  2. 创建的Sitecore.Analytics.Pipelines.StartTracking.ProcessItem一个子类。使用反射器或ILSpy来提取Process方法的现有逻辑。如果传入的StartTrackingArgs是您的子类,并且指定了Item属性,请使用它而不是上下文项。
  3. 使用Include config with a patch:attribute替换startTracking流水线中现有ProcessItem的类型。
  4. 要触发呼叫,请构建您的StartTrackingArgs的实例并致电Sitecore.Analytics.Pipelines.StartTracking.StartTrackingPipeline.Run(yourArgs)
+0

谢谢你的回答!我认为这会更容易完成。我没有太多的Sitecore经验,所以如果我有足够的时间,我会研究这个,并让你知道它是否有效。 – Jeroen

+0

祝你好运。如果您是Sitecore管道的新手,您可能会发现这篇文章很有用:http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2011/05/All-About-Pipelines -in最Sitecore的-ASPNET,CMS.aspx – techphoria414

相关问题