我在很大程度上是一名前端开发人员,并且只拥有基本的C#知识,但我已成功使用Kentico构建了几个大型网站并熟悉其中的许多工具。我最熟悉Kentico开发的ASPX模板模型。
我正在一个网站上工作,我需要在产品和产品使用之间建立多对多的关系。从内容输入的角度来看,使用内置的“相关页面”属性和一对自定义页面类型,设置相对容易。当我在单个产品页面上时,我可以输出产品属性以及相关的页面属性。但是如果我想通过转发器将所有产品输出到页面,我也无法同时输出相关页面。看起来它需要以某种方式在转发器中使用转发器,但我不熟悉如何执行此操作。或者也许我完全错了。思考?谢谢!
答案 0 :(得分:0)
您可以使用更多方法来实现它,但是当使用ASCX转换时,您可以使用Kentico文档来注册其他转发器控件以显示相关页面:
<cms:CMSRepeater ID="CMSRepeater1" runat="server" ClassNames="CMS.News" Path="/%" TransformationName="cms.news.preview" RelationshipName="isrelatedto" RelationshipWithNodeGUID="11111111-1111-1111-1111-111111111111" />
答案 1 :(得分:0)
首先,您可以在转发器中加载转发器,ASCX转换是ASCX,因此您可以将控件放入其中并按如下所示进行配置:
<script runat="server">
protected override void OnInit(EventArgs e) {
// Adjust repeater
rptSubTimes.Path = Eval<string>("NodeAliasPath") + "/%";
//Reload
rptSubTimes.ReloadData(true);
}
</script>
<cms:CMSRepeater ID="rptSubTimes" runat="server" TopN="1" ClassNames="FS.EventDateTime" Columns="EventDTTime" OrderBy="EventDTTime DESC" TransformationName="FS.EventDateTime.HomeEndTime" />
但是,这可能不是最佳方法,您可能希望使用自定义查询(带有自定义查询的转发器)来获取数据,或者使用“具有自定义查询的通用查看器”webpart以生成基于您的查询的多级层次结构转换。
此外,您可以使用宏转换(text / xml)并使用宏的“ApplyTransformation”将转换应用于子项目。
答案 2 :(得分:0)
通过单独使用Kentico中继器是可能的,但是在各种产品之间建立正确的关系会有内容输入。
幸运的是,我之前写了一篇关于它的文章,你可以在这里查看。