Here my working well :-) code to add a tag from a property ( database list) of my Class
attached on my doc :
## Début section pour checker les tags
## Si champ xxxxx_CssTag alors rajout du tag et/ou suppression des anciens tags
#if (($xcontext.action == 'view') &&
($prop.Name.endsWith("_$!{SufxTag}")=='true'))
#set ($NouveauTag=$doc.getValue($prop.Name))
#if ($!NouveauTag!='')
## Array de tous les tags du document
#set ($TagsInMyDoc=$xwiki.tag.getTagsFromDocument($doc))
## si tag n'est pas vide et n'est pas un tag du doc alors check des
tags
#if ($listtool.contains($TagsInMyDoc, $!NouveauTag)==false)
## Récup de toutes les valeurs de la liste
#set($list = $class.get($prop.Name).getListValues())
## $list $class.getName() $prop.Name
#foreach($ATagFromClass in $list)
## * value: $ATagFromClass displayed
##Enlève tous les tags de la liste dans la page
## $ATagFromClass
## *** $listtool.isList($TagsInMyDoc) : $ATagFromClass est dans la liste:
$TagsInMyDoc
## **** $listtool.contains($TagsInMyDoc, $ATagFromClass)
## efface les anciens tags si présents
#if ($listtool.contains($TagsInMyDoc, $ATagFromClass)==true)
#if ($!ATagFromClass!=$!NouveauTag)
#set ($discard=$xwiki.tag.removeTagFromDocument($ATagFromClass,
$doc))
## = je supprime le tag $ATagFromClass =
#end
#elseif ($!ATagFromClass==$!NouveauTag)
## = j'ajoute le tag $NouveauTag sur $doc =
## Ajoute le nouveau Tag
#set ($discard=$xwiki.tag.addTagToDocument($NouveauTag, $doc))
#end
#end
## Fin à insérer
#end
## #set($ClassTag=$ClassName)
#end
#end
De : Pascal BASTIEN <pbasnews-xwiki(a)yahoo.fr>
À : XWiki Users <users(a)xwiki.org>
Envoyé le : Samedi 4 avril 2015 0h11
Objet : Re: [xwiki-users] A way to add some tags on saved page with class
How silly am I!!!!!
I was dealing with the problem in the wrong way.
Instead to add some tag on saving page, some piece of velocity code in my Sheet (in view
mode) must doing the right thinks...
(I will paste the code when I finish it)