我创建了一个包含 UGC TCDL 标签的动态组件演示。DCP 作为 REL 发布到代理数据库。
我可以在COMPONENT_PRESESENTATIONS
表中看到标签存在。(<tcdl:PostRating .../>
,<tcdl:ContextVariable..../>
等等。)
在COMPONENT_PRES_META_DATA
表格中,我可以看到有问题的 DCP 的COMPONENT_OUTPUT_FORMAT
值为REL
。
我已将测试用例缩减为仅执行以下操作的页面:
<%@ Page Language="C#" %>
<%
var ass = new Tridion.ContentDelivery.DynamicContent.ComponentPresentationAssembler("tcm:19-448-64");
Response.Write(ass.GetContent("tcm:19-429", "tcm:19-449-32"));
%>
该页面准确呈现了 DCP 的内容,与数据库中的内容一致,标签<tcdl:/>
仍然完整。
在bin\config\cd_dynamic_conf.xml
网站的文件中,配置了一个Configuration/TCDLEngine/Renderer/TagBundle
元素,如下:
<TagBundle Resource="ugc_renderer_bundle.xml"/>
并且bin\lib\ugc_dynamic.jar
存在
我还应该在哪里查找配置问题?此问题还有其他可能的原因吗?或者我可以采取哪些方法?
答案1
我见过2011 SP1 文档提到TagBundle
元素需要放在Configuration/TCDLEngine/Renderer
元素下面,但是UGC 文档似乎表明并非如此:
在该<TCDLEngine>
部分中,在结束标记之前插入以下元素:
<TagBundle Resource="ugc_renderer_bundle.xml"/>
所以这在TCDLEngine
元素中是正确的,而不是在Renderer
元素内部。我不确定为什么会这样,以及两者中的哪一个可能是文档缺陷(或者在某些情况下两者是否都有效),但您是否尝试过这种方式的配置?