重写二进制链接以使用CDN

时间:2012-12-16 09:32:02

标签: tridion cdn tridion-2011 templating

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

修改/添加内联图片出站链接以使用CDN的正确方法是什么?

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

修改

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

编辑2

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

  • 考虑CSS内联样式(即:background-image:url(..))
  • 新的TBB需要放在之后任何链接操作逻辑(例如:从Html中提取二进制文件,在包中发布Bnaries,链接解析器)
  • 最快且最强大的实现可能是简单的字符串替换(与regexp或XML解析相反)
  • 为了保持标准的“预览”逻辑不变,需要一些条件来触发逻辑

1 个答案:

答案 0 :(得分:3)

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

  1. 在渲染期间在CM上写入TCDL标记(例如<tcdl:image id="..." path="..."
  2. 编写一个TCDL TagHandler实现,在部署期间将TCDL转换为ASP.NET包含
  3. 编写ASCX控件以在访问者请求页面时正确执行CDN查找
  4. 我不确定是否需要第2步和第3步。您也可以在部署阶段(上面的步骤2)中简单地编写CDN路径。

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