我正在.NET中构建一个主要动态的网站,我正在努力让UGC与我的动态组件演示文稿一起工作。我的DCP使用REL输出格式(发布到代理db)发布,并使用ComponentPresentationAssembler类进行使用。
DCP包含动态链接和UGC PostRating。在运行时,动态链接已成功解析,但UGC代码未成功解析。
数据库中的DCP内容示例:
<div>
<h2><tcdl:Link type="Component" origin="tcm:0-0-0" destination="tcm:33-10793" templateURI="tcm:0-0-0" linkAttributes="" textOnFail="true" addAnchor="false" variantId="">Basic Business Checking</tcdl:Link></h2>
<tcdl:PostRating itemURI="tcm:33-10793" postParameter="ratingValuetcm:33-10793">
<tcdl:ItemStats itemURI="tcm:33-10793">
Rating:<tcdl:ContextVariable var="ugcItemStats.averageRating"/> (<tc dl:ContextVariable var="ugcItemStats.numberOfRatings"/> ratings)<br/>
</tcdl:ItemStats>
<form method="post" id="ratingForm">Rate:
<select name="ratingValuetcm:33-10793" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5" selected="true">5</option>
</select>
<input type="submit" value="Rate!"/>
</form>
</tcdl:PostRating>
</div>
.NET页面代码:
Query myQuery = new Query();
myQuery.Criteria = andCriteria;
string[] componentPresentationURIs = myQuery.ExecuteQuery();
ComponentPresentationAssembler componentPresentationAssembler = new ComponentPresentationAssembler("tcm:33-10796-64");
foreach (string componentPresentationURI in componentPresentationURIs) {
Response.Write(componentPresentationAssembler.GetContent(componentPresentationURI, strComponentTemplateURI));
}
当嵌入页面时,UGC正在成功运作 cd_dynamic_conf.xml使用ugc_renderer_bundle.xml标记包进行配置。
在渲染的html中,动态链接被解析为
<a href="/prodigy/business-rewards-checking.aspx" >Business Rewards Checking</a>
但是代码保持原样。
欢迎提出想法。
答案 0 :(得分:1)
首先,一句小话:“REL标签无法发表评论/评级”(检查使用Tridion登录的增强请求76605)。这基本上意味着你的“tcdl:PostRating”将从结果输出中删除。就“tcdl:ItemStats”和“tcdl:ContextVariable”而言,如果在“cd_storage_conf.xml”中设置了“ugc_dao_bundle.xml”,它们应该可以正常工作。因此,您将使用所有评论呈现整个页面,但发布或编辑评论/评级将不起作用。 如果您的渲染出现问题,那么您应该会在日志中看到一些错误。 希望这会有所帮助。
干杯, 丹尼尔。