簡體   English   中英

中繼器中的Kentico 10 ASPX +門戶多對多關系

[英]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”將轉換應用於子項。

僅通過單獨使用Kentico中繼器是可能的,但是要在各種產品之間建立正確的關系需要付出大量的內容輸入努力。

幸運的是,我前一段時間寫了一篇有關它的文章,您可以在這里查看。

通過中繼器顯示相關內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM