1

私は、HTML、Javascript、Velocity を作成している dotCMS プロジェクトに取り組んでいますが、Java はありません (まだ必要ありません)。

dotCMS では、構造 A が構造 D に関連する構造 C に関連するインスタンス構造 A に関連する構造 C のすべての項目のリストを作成するために、2 つの関係をトラバースする必要があります。私が繰り返すことができるコンテンツの: http://pastebin.com/52uStcUA .

問題は、このリストをページ分割する必要があり、 #pageContent() マクロがリストではなくクエリのみを受け入れることです。dotCMS_library.vm の #pageContent() マクロのソースを調べたところ、Java: ContentsWebAPI.pageContent() を呼び出していることがわかりました。これは、クエリのみを受け入れます。

私が見る限り、これには 2 つのオプションがあります。

1) どういうわけか、推移的な関係のトラバーサルを表す #pageContent() マクロのクエリを表現します。1 つの関係 ( http://pastebin.com/cwLY0Av4 )のクエリを作成する方法は知っていますが、2 つの関係は知りません。

2) ContentsWebAPI.pageContent() の独自の Java 実装を作成します。これは、率直に言ってやり過ぎのように思えます (そして、長くてつらい道のりの最初の一歩に過ぎないかもしれません)。

それで、これを解決する方法に関する他のアイデアはありますか?

4

1 に答える 1

2

速度で必要なページングロジックを書くのはかなり簡単なはずです-Velocityの$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変数を渡し、それを使用してサブリストなどを取得できます。

于 2010-09-08T15:24:00.357 に答える