Asistencia al usuario para autores de contenido

Plug-ins lógicos

Los plug-ins lógicos se utilizan para la lógica de programación. Este tema contiene información adicional para algunos de estos plug-ins.

Plug-in de representación de comentarios

Utilice el plug-in Comment para insertar comentarios que sólo quiere que vean los autores de contenido. Todo el texto escrito entre los códigos de inicio y de finalización del plugin se considera como comentario. Este texto no se procesa y se omite cuando se representa el contenido. Por ejemplo:
[Plugin:Comment] Esto es un comentario [/Plugin:Comment]

Plugins ifEmpty e ifNotEmpty

Estos plugins se utilizan para representar el texto entre comillas si un parámetro de valor está vacío o bien si no lo está.
[Plugin:ifEmpty value=" "]

[Plugin:ifNotEmpty value=" "]

Plug-in de representación Equals

Utilice el plug-in Equals para insertar una marcación en un contenido web sólo si coinciden los valores de dos atributos de texto. El plugin proporciona los dos atributos texto1 y texto2. Todas las marcaciones entre los códigos de inicio y finalización se representan como parte del contenido web sólo si los valores de estos dos atributos son idénticos.

El ejemplo siguiente representa la marcación entre los códigos de inicio y finalización del plug-in sólo si el contenido representado está en una etapa de flujo de trabajo denominada Review.
[Plugin:Equals text1="Review" text2="[Property type='content' 
               context='current' field='currentstage']"] 
Document in review
[/Plugin:Equals]

Plug-in de representación Not equals

Utilice el plug-in NotEquals para insertar una marcación en un contenido web sólo si no coinciden los valores de dos atributos de texto. El plugin proporciona los dos atributos texto1 y texto2. Todas las marcaciones entre los códigos de inicio y finalización se representan como parte del contenido web sólo si los valores de estos dos atributos no son idénticos.

El ejemplo siguiente representa la marcación entre los códigos de inicio y finalización sólo si el elemento tipo del contenido representado no tiene el valor Interno:
[Plugin:NotEquals text1="Internal" text2="[Element type='content' 
                  context='current' key='type']"] 
Public document
[/Plugin:NotEquals]

Plug-in de representación Matches

Utilice el plug-in Matches para insertar condicionalmente una marcación en un contenido web evaluando una expresión regular contra un valor de texto aprobado. El plugin proporciona dos atributos texto y patrón. Todas las marcaciones entre los códigos de inicio y finalización del plugin se representan sólo si el valor del atributo texto coincide con la expresión regular en el atributo patrón.

Asimismo, puede poseer una coincidencia de patrón negativa. En este caso, se representa la marcación del cuerpo del código de plugin sólo si el texto no coincide con la expresión regular. Para utilizar la coincidencia de patrón negativa, establezca el atributo negative-match en true.

Nota: El dialecto de la expresión regular que utiliza el plug-in lo define la clase de idioma JAVA java.util.regex.Pattern.
Ejemplos:
  • El ejemplo siguiente representa la marcación entre los códigos de inicio y finalización sólo si el contenido representado está en una etapa de flujo de trabajo que contiene la palabra Review.
    [Plugin:Matches text="[Property type='content' context='current' 
                    field='currentstage']" pattern=".*Review.*"] 
    Document in review
    [/Plugin:Matches]
    Para omitir el caso del carácter que se utiliza para la coincidencia, prefije la secuencia de control (?i) para la expresión regular. En el ejemplo siguiente coincide los nombres de la etapa de flujo de trabajo como por ejemplo review:
    [Plugin:Matches text="[Property type='content' context='current' 
                    field='currentstage']" pattern="(?i).*review.*"] 
    Document in review
    [/Plugin:Matches]
  • El ejemplo siguiente representa la marcación entre los códigos de inicio y finalización sólo si el contenido representado está en una etapa de flujo de trabajo que no contiene la palabra Review:
    [Plugin:Matches text="[Property type='content' context='current' 
         field='currentstage']" negative-match="true" pattern=".*Review.*"] 
    Document not in review
    [/Plugin:Matches]
  • Asimismo, puede utilizar los grupos de captura para expresiones regulares. Para acceder al valor de un grupo, utilice el plug-in MatchedGroup. Puede utilizar este plug-in entre los códigos de inicio y de finalización del plug-in Matches. Proporciona el atributo grupo para recuperar un grupo de captura por su índice. Por ejemplo, para acceder a la primera palabra en una lista de palabras separada por comas, utilice el plugin como se indica a continuación:
    [Plugin:Matches pattern="(.*)(,)(.*)" text="key1,key2"] 
    First key is: [Plugin:MatchedGroup group="1"]
    [/Plugin:Matches]

Plug-in de representación Otherwise

Utilice el plug-in de representación Otherwise para la inserción condicional de marcación en el contenido web si cualquiera de los plug-ins de representación se evalúa como false antes de que se evalúe el plug-in Otherwise:
  • Plug-in de representación Equals
  • Plug-in de representación NotEquals
  • Plug-in de representación Matches
Ejemplos:
  • El ejemplo siguiente representa la marcación entre los códigos de inicio y final del plug-in de representación Otherwise (Document not in review) sólo si el contenido a representar no se encuentra en una etapa de flujo de trabajo que se denomina 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]
  • El ejemplo siguiente representa la marcación entre los códigos de inicio y final del plug-in de representación Otherwise (Internal document) sólo si el elemento tipo del contenido representado tiene el valor Internal.
    [Plugin:NotEquals text1="Internal" text2=" [Element type='content'
                      context='current' key='type']"]
      Public document
    [/Plugin:NotEquals]
    [Plugin:Otherwise]
      Internal document
    [/Plugin:Otherwise]
  • El ejemplo siguiente representa la marcación entre los códigos de inicio y final del plug-in de representación Otherwise (Document not in review) sólo si el contenido a representar se encuentra en una etapa de flujo de trabajo que no contiene la palabra 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]

También puede anidar los plug-ins de representación Equals, NotEquals y Matches cuando añada marcación de forma condicional. Al utilizar estos plug-ins juntos de este modo, es posible que desee tener distintos plug-ins Otherwise que se asocien con cada plug-in de representación condicional. Para asociar un plug-in con un plug-in Otherwise específico, añada un atributo scope con el mismo valor al plug-in de representación condicional y al plug-in Otherwise. Si no se especifica atributo scope para el plug-in Otherwise, se aplica al último plug-in condicional que se evaluó.

Ejemplos:
  • El ejemplo siguiente utiliza varios plug-ins de representación anidados para realizar la marcación de representación condicional. El plug-in Otherwise con el atributo scope establecido a 1 hace referencia al plug-in Equals. El plug-in Otherwise con el atributo scope establecido a 2 hace referencia al plug-in de representación 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]