[Ricardo Rodriguez] eBioTIC. wrote:
Thanks!
Caleb James DeLisle wrote:
#set($species = $doc.getObject('Species.SpeciesClass').getProperty('GalicianName').getValue()) That should do it.
Yeah! The hierarchy is pretty clear now... that you have wrote it down! :-) Thanks!
Note: For better security the query should be: #set($query = ", BaseObject as obj, LargeStringProperty as prop where doc.fullName = obj.name and obj.className='Users.PdrUserClass' and obj.id=prop.id.id and prop.id.name='Species' and prop.value like ? order by doc.fullName asc") then #set($results = $xwiki.searchDocuments($query, [$species])
This makes sure $species is escaped preventing sql injection.
Thanks! Security matters!
Just to avoid some lost of time to others: a closing right parenthesis here...
#set($results = $xwiki.searchDocuments($query, [$species])
It must read...
#set($results = $xwiki.searchDocuments($query, [$species]))
haha yup they get me all the time.
What I get here with the #set directive above is, let's say, choco. But I do need '%choco%'. Please, how could I get this? I've tried a number of concatenation options, but I'm not able to get the right string.
Thanks once again. Cheers,
#set($species = '%' "$doc.getObject('Species.SpeciesClass').getProperty('GalicianName').getValue()" + '%') ^- that should work. if not try this: #set($species = "%${doc.getObject('Species.SpeciesClass').getProperty('GalicianName').getValue()}%") Hint about velocity, "this" gets interpreted as syntax, then pasted as a string 'this' is just non parsed content. Caleb