6

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

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

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

编辑

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

编辑 2

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

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

1 回答 1

3

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

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

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

同时,我希望您使用部署程序扩展将图像上传(更新)到 CDN,这样它也可以在第 2 阶段进行。

于 2012-12-16T13:24:39.037 回答