Plug-ins logiques

Les plug-ins logiques sont utilisés dans le cadre de la logique de programmation. Cette rubrique contient des informations supplémentaires pour certains de ces plug-ins.

Plug-in de rendu Comment

Utilisez le plug-in de rendu Comment pour insérer des commentaires qui doivent être visualisés uniquement par les créateurs de contenu. Le texte écrit entre les balises de début et de fin du plug-in est considéré comme un commentaire. Il n'est pas traité, mais est omis lors de l'affichage du contenu Web. Exemple :
[Plugin:Comment] This is a comment [/Plugin:Comment]

Plug-ins ifEmpty et ifNotEmpty

Ces plug-ins sont utilisés pour rendre le texte placé entre guillemets si un paramètre de valeur est vide ou n'est pas vide.
[Plugin:ifEmpty value=" "]

[Plugin:ifNotEmpty value=" "]

Plug-in de rendu Equals

Utilisez le plug-in Equals pour insérer un marquage dans votre contenu Web uniquement si les valeurs de deux attributs de texte correspondent. Le plug-in fournit les deux attributs text1 et text2. Le marquage figurant entre les balises de début et de fin est rendu dans votre contenu Web uniquement si les valeurs de ces deux attributs correspondent.

L'exemple suivant rend le marquage figurant entre les balises de début et de fin du plug-in uniquement si le contenu affiché se trouve dans un flux de travaux appelé Révision.
[Plugin:Equals text1="Review" text2="[Property type='content' 
               context='current' field='currentstage']"] 
Document in review
[/Plugin:Equals]

Plug-in de rendu Not equals

Le plug-in de rendu NotEquals permet d'insérer un marquage dans votre contenu Web uniquement si les valeurs de deux attributs de texte ne correspondent pas. The plug-in provides the two attributes text1 and text2. Le marquage figurant entre les balises de début et de fin est rendu dans votre contenu Web uniquement si les valeurs de ces deux attributs ne correspondent pas.

L'exemple suivant rend le marquage figurant entre les balises de début et de fin uniquement si l'élément type du contenu affiché ne possède pas la valeur Interne :
[Plugin:NotEquals text1="Internal" text2="[Element type='content' 
                  context='current' key='type']"] 
Public document
[/Plugin:NotEquals]

Plug-in de rendu Matches

Le plug-in de rendu Matches permet d'insérer de manière conditionnelle du marquage dans votre contenu Web en évaluant une expression régulière par rapport à une valeur de texte transmise. Le plug-in fournit deux attributs : text et pattern. Le marquage figurant entre les balises de début et de fin du plug-in est rendu uniquement si la valeur de l'attribut text correspond à l'expression régulière dans l'attribut pattern.

Vous pouvez aussi avoir une correspondance de masque négative. Dans ce cas, le marquage du corps de la balise de plug-in est rendu uniquement si le texte ne correspond pas à l'expression régulière. Pour utiliser une correspondance de masque négative, associez l'attribut negative-match à la valeur true.

Remarque : Le dialecte d'expression régulière utilisé par le plug-in est défini par la classe de langage Java java.util.regex.Pattern.
Exemples :
  • L'exemple suivant rend le marquage figurant entre les balises de début et de fin uniquement si le contenu affiché se trouve dans un flux de travaux dont le nom contient le mot Révision.
    [Plugin:Matches text="[Property type='content' context='current' 
                    field='currentstage']" pattern=".*Review.*"] 
    Document in review
    [/Plugin:Matches]
    
    Pour ignorer le cas du caractère qui est utilisé pour la mise en correspondance, ajoutez la séquence de contrôle (?i) comme préfixe à l'expression régulière. L'exemple suivant permet aussi la correspondance de noms d'étape de flux de travaux tels que révision :
    [Plugin:Matches text="[Property type='content' context='current' 
                    field='currentstage']" pattern="(?i).*review.*"] 
    Document in review
    [/Plugin:Matches]
    
  • L'exemple suivant rend le marquage figurant entre les balises de début et de fin uniquement si le contenu affiché se trouve dans un flux de travaux dont le nom contient le mot Révision :
    [Plugin:Matches text="[Property type='content' context='current' 
         field='currentstage']" negative-match="true" pattern=".*Review.*"] 
    Document not in review
    [/Plugin:Matches]
    
  • Vous pouvez aussi utiliser des groupes de captures pour les expressions régulières. Pour accéder à la valeur d'un groupe, utilisez le plug-in MatchedGroup. Vous pouvez utiliser ce plug-in uniquement entre les balises de début et de fin du plug-in de rendu Matches. Il fournit l'attribut group qui permet d'extraire un groupe de captures en fonction de son index. Par exemple, pour accéder au premier mot d'une liste de mots séparés par une virgule, utilisez le plug-in comme suit :
    [Plugin:Matches pattern="(.*)(,)(.*)" text="key1,key2"] 
    First key is: [Plugin:MatchedGroup group="1"]
    [/Plugin:Matches]

Plug-in de rendu Otherwise

Le plug-in de rendu Otherwise permet d'insérer de manière conditionnelle un marquage dans votre contenu Web si l'un quelconque des plug-ins de rendu suivants est évalué sur false avant l'évaluation du plug-in Otherwise :
  • Equals plug-in de rendu
  • NotEquals rendering plug-in
  • Matches rendering plug-in
Exemples :
  • L'exemple suivant montre le rendu du marquage entre la balise de début et de fin du plug-in de rendu Otherwise (Document not in review) uniquement si le contenu rendu n'est pas présent dans l'étape de flux de travaux appelée Review.
    [Plugin:Equals text1="Review" text2=" [Property type='content'
                   context='current' field='currentstage']"] 
      Document in review.
    [/Plugin:Equals]
    [Plugin:Otherwise]
      Document in not review.
    [/Plugin:Otherwise]
    
    
  • L'exemple suivant montre le rendu du marquage entre la balise de début et la balise de fin du plug-in Otherwise (Internal document) uniquement si l'élément type du contenu rendu a la valeur Internal.
    [Plugin:NotEquals text1="Internal" text2=" [Element type='content'
                      context='current' key='type']"]
      Public document
    [/Plugin:NotEquals]
    [Plugin:Otherwise]
      Internal document
    [/Plugin:Otherwise]
    
  • L'exemple suivant montre le rendu du marquage entre la balise de début et de fin du plug-in de rendu Otherwise (Document not in review) uniquement si le contenu rendu est présent dans une étape de flux de travaux dont le nom ne contient pas le mot Review.
    [Plugin:Matches text=" [Property type='content' context='current'
                    field='currentstage']" pattern=".*Review.*"]
      Document in review
    [/Plugin:Matches]
    [Plugin:Otherwise]
      Document not in review
    [/Plugin:Otherwise]
    

Vous pouvez également imbriquer les plug-ins de rendu Equals, NotEquals et Matches lorsqu'un marquage est ajouté de manière conditionnelle. Lorsque vous utilisez ces plug-ins associés de cette manière, vous pouvez si vous le souhaitez faire en sorte que différents plug-ins Otherwise soient associés à chaque plug-in de rendu conditionnel. Pour associer un plug-in à un plug-in Otherwise particulier, ajoutez un attribut scope de même valeur au plug-in de rendu conditionnel et au plug-in Otherwise. Si aucun attribut scope n'est indiqué pour le plug-in Otherwise il est appliqué au dernier plug-in conditionnel évalué.

Exemples :
  • Dans l'exemple suivant plusieurs plug-ins de rendu imbriqués sont utilisés afin d'afficher le rendu du marquage de manière conditionnelle. Le plug-in Otherwise avec l'attribut scope défini sur 1 fait référence au plug-in Equals. Le plug-in Otherwise avec l'attribut scope défini sur 2 fait référence au plug-in de rendu Matches.
    [Plugin:Equals text1="Review" text2=" [Property type='content'
                   context='current' field='currentstage']" scope="1"]
      Document in review.
      [Plugin:Matches text=" [Property type='content' context='current'
         field='authors']" pattern="(.*)(,)(.*)" scope="2"]
        Multiple authors
      [/Plugin:Matches]
      [Plugin:Otherwise scope="2"]
        Only one author
      [/Plugin:Otherwise]
    [/Plugin:Equals]
    [Plugin:Otherwise scope="1"]
      Document in not review.
    [/Plugin:Otherwise]