[英]Kentico 10 ASPX + Portal many-to-many relationships in repeater
我主要是前端開發人員,只具備基本的C#知識,但是我已經成功地使用Kentico構建了多個大型網站,並且熟悉其許多工具。 我最熟悉Kentico開發的ASPX模板模型。
我在一個網站上工作,我需要在該網站上建立產品與產品使用之間的多對多關系。 從內容輸入的角度來看,使用內置的“相關頁面”屬性和一對自定義頁面類型,這相對容易設置。 當我在單個產品頁面上時,我可以輸出產品屬性以及相關的頁面屬性。 但是,如果我想通過中繼器將所有產品輸出到頁面,則無法同時輸出相關頁面。 似乎以某種方式在中繼器中需要中繼器,但是我不知道如何執行此操作。 也許我完全錯了。 有什么想法嗎? 謝謝!
您可以使用更多方法來實現它,但是這種方法來自Kentico文檔,當使用ASCX轉換時,您可以注冊其他轉發器控件來顯示相關頁面:
<cms:CMSRepeater ID="CMSRepeater1" runat="server" ClassNames="CMS.News" Path="/%" TransformationName="cms.news.preview" RelationshipName="isrelatedto" RelationshipWithNodeGUID="11111111-1111-1111-1111-111111111111" />
首先,您可以在轉發器中加載轉發器,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”將轉換應用於子項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.