對於我的基於ASP.Net-Tridion2011供電的現場,我需要更換標準產生< 的tridion:ComponentLink />一些< 定製: ComponentLink />。什麼是覆蓋在命名空間中的最簡單的方法<套上:ComponentLink />
(假設此自定義控件的語義是相同的,那就是:只需要更換命名空間部分)
會是怎樣做到這一點的最簡單和侵入性最小的方法是什麼?
我的猜測是我應該實施一個替代標準LinkTagHandler。這是對的嗎?
該解決方案唯一的[infinitesimal]缺點是它需要顯式配置cd_deployer_conf中的所有標記處理程序。
編輯
找到一個愚蠢的簡單的解決方案就走樣命名空間的非常具體的任務:
<TCDLEngine>
<Properties>
<Property Name="aspnet.tagprefix" Value="custom"/>
</Properties>
</TCDLEngine>
通過一個幸運的機會,我所有的<tcdl:../>
標籤得到映射到<custom:../>
,否則,這個小騙子不會工作。
總的來說,我比較贊成彼得和創建自定義戰術通用數據鏈標籤處理器的努諾的建議的..
(只需要我的懶惰:-)險勝。
EDIT 2
哎呀,剛纔注意到,該努諾表明正是以上!
多米尼克,這就是我最初做的。但是..還有另一個原因*不是*將技術特定的指令包含到模板中:RTF字段內的組件鏈接。它們默認由Link Resolver TBB進行處理,這是相當單片的代碼。因此,在CM方面保持技術不可知論似乎是理智的。 – esteewhy
然後取出鏈接解析器。你不需要它 –