| ... |
... |
@@ -7,6 +7,19 @@ |
| 7 |
7 |
#set($featuredFilter = [1, 0]) |
| 8 |
8 |
#end |
| 9 |
9 |
#set($collabs = $query.bindValue('featured', $featuredFilter).execute()) |
|
10 |
+#macro(collablist $collabs) |
|
11 |
+[ |
|
12 |
+#foreach($collab of $collabs) |
|
13 |
+ #set($highlight = $xwiki.getDocument($collab)) |
|
14 |
+ #set($collabId = $highlight.getValue('collab_id')) |
|
15 |
+ #set($collabURL = '/bin/view/Collabs/'+$collabId) |
|
16 |
+ #set($hasPicture = $highlight.getAttachment('highlight.png').isImage()) |
|
17 |
+ { |
|
18 |
+ "title": "$highlight.getTitle()" |
|
19 |
+ }, |
|
20 |
+#end |
|
21 |
+] |
|
22 |
+#end |
| 10 |
10 |
{{/velocity}} |
| 11 |
11 |
|
| 12 |
12 |
{{velocity wiki="false"}} |
| ... |
... |
@@ -16,21 +16,8 @@ |
| 16 |
16 |
#end |
| 17 |
17 |
##set($MyJsonData = {'greeting': 'Hello', 'location': 'World'}) |
| 18 |
18 |
##$jsontool.serialize($collabs) |
| 19 |
|
-#foreach($collab of $collabs) |
| 20 |
|
- #set($highlight = $xwiki.getDocument($collab)) |
| 21 |
|
- #set($collabId = $highlight.getValue('collab_id')) |
| 22 |
|
- #set($collabURL = '/bin/view/Collabs/'+$collabId) |
| 23 |
|
- #set($hasPicture = $collab.getAttachment('highlight.png').isImage()) |
| 24 |
|
- { |
| 25 |
|
- "title": "$highlight.getTitle()", |
| 26 |
|
- "content": "$highlight.getContent()", |
| 27 |
|
- #if($hasPicture) |
| 28 |
|
- "image": "$collab.getAttachmentURL('highlight.png')", |
| 29 |
|
- #end |
| 30 |
|
- }#if( $foreach.hasNext ), #end |
| 31 |
|
-#end |
| 32 |
|
-]) |
| 33 |
33 |
|
|
33 |
+$jsontool.serialize(#collablist($collabs)) |
| 34 |
34 |
|
| 35 |
35 |
## In order to ensure the generated JSON is valid it is recommanded to |
| 36 |
36 |
## build the JSON in memory (using Velocity/Java maps, arrays and basic types) |