2010-09-08 38 views
1

我正在編寫一個dotCMS項目,我們正在編寫HTML,Javascript和Velocity - 但沒有Java(現在還沒有需要)。dotCMS:如何分頁列表中的內容?

在dotCMS中,我需要遍歷兩個關係,以得到與實例結構A有關的所有結構C的列表,其中結構A涉及與結構D相關的結構C.很好,我已經完成了並有一個我可以迭代的內容列表:http://pastebin.com/52uStcUA

問題是我需要分頁這個列表和#pageContent()宏只有接受查詢,而不是列表。我研究了dotCMS_library.vm中#pageContent()宏的來源,發現它調用了Java:ContentsWebAPI.pageContent() - 它只接受查詢。

據我所看到的,這給我留下了兩個選項:

1)不知何故短語表達的傳遞關係遍歷#pageContent()宏的查詢。我知道如何爲一個關係編寫查詢(http://pastebin.com/cwLY0Av4),但不是兩個。 2)寫我自己的ContentsWebAPI.pageContent()的Java實現,這聽起來像是過度殺傷(也許只是漫長而痛苦的第一步)。

那麼,關於如何解決這個問題的任何其他想法?

回答

2

在velocity中編寫所需的分頁邏輯應該相當容易--Volocity中的$ list只是一個java.util.ArrayList。

包含在dotCMS一個有用的工具是$ listTool看到:http://velocity.apache.org/tools/releases/velocity-tools-1.2/javadoc/org/apache/velocity/tools/generic/ListTool.html

這可以給你在你的列表中選擇特定項目。所有你需要的是一些像$ page,$ numShow等變量......你可以在url中傳遞$ page變量並使用它來獲得子列表等等......