【问题标题】:Web Analytics and Content Reuse网络分析和内容重用
【发布时间】:2026-02-10 09:25:01
【问题描述】:

我们创建了一个按钮模板,编辑器可以在其中关联一个网络分析标签。问题是我们想在同一个页面上重用这个按钮组件,但仍然能够区分它来自页面的哪个位置。

以前有人遇到过这个问题吗?我们正在寻找对该问题的一些见解,或许还有一些方法可以在不修改模板的情况下解决这个问题。

仅供参考,我们使用的是 Tridion 2009 SP1。

谢谢!

用 HTML 更新

<a href ="/security.jsp" onClick="trackCustomLink('tttt:p:apply-now','Link','onClick');">
   <img src="/images/GICs/applynow-button.gif"  border="0" alt="Apply Now" /></a>

【问题讨论】:

  • 也许您可以向我们展示您正在输出的 HTML,以便我们添加更多有用的答案

标签: tridion templating


【解决方案1】:

假设您的按钮是使用组件模板呈现的,您似乎只需要使用页面上组件的序数位置 - 您能否指定您使用的模板类型(VBScript 或带 DWT 或 C# 的模块化) ?在此基础上,我们或许可以为您提供一些代码示例。

Graham Bird 有一篇关于使用 VBScript 的 OrdinalPosition 的好文章:http://www.grahambird.co.uk/2011/01/ordinalposition/

这背后的想法是您将 ComponentPresentation.OrdinalPosition 值添加到您的分析代码中。

【讨论】:

  • 或者,您可以使用组件的 ID 作为网络分析工具的参数。
  • 这是一个很好的建议@Quirijn,可能 OrdinalPosition 和 ComponentURI 的组合会给你最独特的情况
  • 感谢 Chris 和 Quirijn 的回复。我们正在使用带有 DWT TBB 的模块化模板。组件表示的序数位置是否可用于 DWT 本地,或者我们是否需要通过 C# TBB 将序数位置作为变量推送到包中? (然后我们会将其附加到分析标签)
  • 我相信您必须先将其添加到页面模板中的 Engine.PublishingContext.RenderContext.ContextVariables 集合中,然后再调用组件表示上的渲染操作,然后从那里检索它。但我倾向于不使用 DWT,所以我可能是错的。