5

对于我的基于 ASP.Net 的 Tridion2011 驱动的站点,我需要用一些 < custom :ComponentLink/> 替换标准生成的 < tridion :ComponentLink /> 。

(我们假设这个自定义控件的语义是一样的,即:只需要替换命名空间部分。)

执行此操作的最简单和最少干扰的方法是什么?

我的猜测是我应该实现标准LinkTagHandler的替代方案。这是对的吗?

该解决方案唯一的 [infinitesimal] 缺点是它需要在 cd_deployer_conf 中显式配置所有标记处理程序。

编辑

找到了一个简单的简单解决方案来解决别名命名空间的非常具体的任务:

<TCDLEngine>
    <Properties>
        <Property Name="aspnet.tagprefix" Value="custom"/>
    </Properties>
</TCDLEngine>

幸运的是,我的所有<tcdl:../>标签都映射到了<custom:../>,否则,这个小骗子将无法正常工作。

总的来说,我更赞成 Peter 和 Nuno 关于创建自定义 TCDL 标签处理程序的建议。

(只需要克服我的懒惰:-)。

编辑 2

哎呀,刚刚注意到,Nuno 建议的正是上述内容!

4

3 回答 3

5

是的,我建议创建您自己的 TCDL 标记处理程序来输出您的自定义控件而不是默认控件。但是,还有另一个潜在的缺点:您需要重新发布页面/组件才能使其生效。

于 2012-11-27T11:01:50.227 回答
4

您可以通过在 cd_deployer_conf(在 TCDLEngine 元素中)更改前缀来轻松控制前缀。

显然,您需要注意实现该前缀的控制/标记处理程序,并重新发布应该使用它的每个页面/dcp。

于 2012-11-27T14:51:46.913 回答
0

当然,您根本不需要使用 TCDL。只需直接从您的模板中发出所需的代码。唯一需要为此使用 TCDL 的情况是,如果您有一个通用的针对多个前端平台的硬性要求。

于 2012-11-28T12:17:33.453 回答