1

我正在做一个 dotCMS 项目,我们正在编写 HTML、Javascript 和 Velocity——但没有 Java(还没有必要)。

在 dotCMS 中,我需要遍历两个关系以得出与实例结构 A 相关的结构 C 的所有项目的列表,其中结构 A 与结构 C 相关,结构 C 与结构 D 相关。很好,我已经这样做了,并且有一个列表我可以遍历的内容:http: //pastebin.com/52uStcUA

问题是我需要对这个列表进行分页,而 #pageContent() 宏接受查询,而不接受列表。我查看了 dotCMS_library.vm 中的 #pageContent() 宏的源代码,发现它调用了 Java:ContentsWebAPI.pageContent() - 而后者只接受查询。

据我所知,这给我留下了两个选择:

1) 不知何故,对#pageContent() 宏的查询表达了传递关系的遍历。我知道如何为一个关系(http://pastebin.com/cwLY0Av4)编写查询,但不是两个。

2) 编写我自己的 ContentsWebAPI.pageContent() 的 Java 实现,坦率地说,这听起来有点矫枉过正(也许只是漫长而痛苦的道路上的第一步)。

那么,关于如何解决这个问题的任何其他想法?

4

1 回答 1

2

It should be fairly easy to write the paging logic you need in velocity - the $list in Velocity is just a java.util.ArrayList.

A helpful tool that is included in dotCMS is the $listTool see: http://velocity.apache.org/tools/releases/velocity-tools-1.2/javadoc/org/apache/velocity/tools/generic/ListTool.html

This can give you specific items in your list. All you need are some variables like $page, $numShow, etc... You can pass around the $page variable in the url and use it to get sublists, etc...

于 2010-09-08T15:24:00.357 回答