Changes for page Highlighted Collabs
Last modified by bougault on 2021/04/12 17:00
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,37 +12,19 @@ 1 -{{velocity output="no"}} 2 -$xwiki.ssx.use('Collaboratory.Apps.HighlightedCollabs.Code.HighlightedCollabsMacro') 3 -#set($query = $services.query.xwql("from doc.object(Collaboratory.Apps.HighlightedCollabs.Code.HighlightedCollabsClass) as collab where collab.collab_id not like '' and collab.featured in (:featured)")) 4 -#if("$!request.featured" == "true") 5 - #set($featuredFilter = [1]) 6 -#else 7 - #set($featuredFilter = [1, 0]) 8 -#end 9 -#set($collabs = $query.bindValue('featured', $featuredFilter).execute()) 10 -{{/velocity}} 11 - 12 12 {{velocity wiki="false"}} 13 13 ## If AJAX call 14 -#if("$!request.outputSyntax" != '') 3 +#if($context.action == 'get') 4 +##if("$!request.outputSyntax" != '') 15 15 $response.setContentType('application/json') 16 16 #end 7 +#set($MyJsonData = {'greeting': 'Hello', 'location': 'World'}) 8 +$jsontool.serialize($MyJsonData) 17 17 18 -#foreach($collab of $collabs) 19 - #set($highlight = $xwiki.getDocument($collab)) 20 - #set($collabId = $highlight.getValue('collab_id')) 21 - #set($collabURL = '/bin/view/Collabs/'+$collabId) 22 - #set($hasPicture = $highlight.getAttachment('highlight.png').isImage()) 23 - #if($hasPicture) 24 - #set($picture = $highlight.getAttachmentURL('highlight.png')) 25 - #else 26 - #set($picture = "") 27 - #end 10 +## In order to ensure the generated JSON is valid it is recommanded to 11 +## build the JSON in memory (using Velocity/Java maps, arrays and basic types) 12 +## and then serialize it with $jsontool.serialize method. 13 +## Usage (from Marius: http://xwiki.markmail.org/message/wsvaj4leg5atufwd): 14 +## #set($array = [1, 2, 3]) 15 +## $jsontool.serialize($array) 16 +## #set($map = {'enabled': true, 'color': 'yellow', 'count': 13}) 17 +## $jsontool.serialize($map) 28 28 29 - { 30 - "title": "$highlight.getTitle()", 31 - "content": "$highlight.getContent()", 32 - "image": "$picture", 33 - }#if( $foreach.hasNext ), #end 34 -#end 35 -]) 36 - 37 37 {{/velocity}}