【问题标题】:Rewriting binary links to use CDN重写二进制链接以使用 CDN
【发布时间】:2012-12-16 09:32:02
【问题描述】:

CDN 集成似乎是 Tridion 人群中的热门话题。但是,不知何故,可用的讨论主要围绕在 CDN 之间推送内容展开。我特别感兴趣的是:

修改/加前缀内嵌图像出站链接以使用 CDN 的正确方法是什么?

最简单的方法是创建一些后处理 TBB,对 Output 项进行操作,并将其放在“默认完成操作”中。不过,在 CD 端这样做似乎更正确,不是吗?

编辑

考虑更奇特的情况:如果我不仅想修改图像路径,而且将整个图像链接包装到 ASP.Net 控件中,该怎么办。我在哪里做这个?

编辑 2

到目前为止,通过 TBB 实现了对 ASP.Net 控件替换的标记。顺利,只需要留意以下细微的事情:

  • 考虑 CSS 内联样式(即:background-image: url(..))
  • 新的 TBB 需要放在任何链接操作逻辑之后(例如:从 Html 中提取二进制文件、在包中发布二进制文件、链接解析器)
  • 最快和最健壮的实现可能是使用简单的字符串替换(与正则表达式或 XML 解析相比)
  • 要保持标准“预览”逻辑完好无损,触发逻辑需要一些条件

【问题讨论】:

  • 现在这个问题似乎主要集中在开始讨论上。尽管这绝对是一个有趣的话题,但 Stack Overflow 并不适合(也不是最佳平台)进行此类讨论。有什么方法可以在问题中分享您的 CDN 方法并告诉我们您对此有哪些疑问?

标签: tridion cdn tridion-2011 templating


【解决方案1】:

如果您决定为您的 CDN 托管图像使用 ASP.NET 控件,您可以考虑以下阶段/步骤:

  1. 在渲染过程中在 CM 上写一个 TCDL 标签(例如<tcdl:image id="..." path="..."
  2. 编写一个 TCDL TagHandler 实现,在部署期间将 TCDL 转换为 ASP.NET 包含
  3. 编写 ASCX 控件以在访问者请求页面时正确执行 CDN 查找

我不确定是否需要第 2 步和第 3 步。您也可以在部署阶段(上面的第 2 步)简单地编写 CDN 路径。

同时,我希望您使用部署程序扩展将图像上传(更新)到 CDN,以便在第 2 阶段也发生。

【讨论】:

  • 对于一个简单的实现,您也可以将“my.cdn.com/images”放在出版物的 Image Url 属性中。还是 Tridion 不支持?
  • 在上面的计划中( => <..><..><..>
猜你喜欢
  • 2011-08-24
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-15
  • 2011-08-05
相关资源
最近更新 更多