CMS: usar expresiones del CMS para manipular cadenas de texto

18 min de lectura
Usa expresiones del CMS para liberar todo el potencial del CMS sin tener que usar código JS o Velo.
 
Las expresiones te permiten combinar texto estático con valores dinámicos de varios campos de la colección en una sola cadena de texto. Aplica formato a fechas, horas y números dinámicos para mostrarlos según sea necesario. Construye ecuaciones matemáticas que usen campos numéricos en sus cálculos. Incluso puedes combinar funciones en la misma expresión para liberar infinitas posibilidades.
Para obtener un resumen general de este proceso, consulta nuestro video de la guía definitiva del CMS (contenido en inglés).

Acerca de las funciones de las expresiones del CMS

Una expresión del CMS combina funciones, valores literales y valores de campos de la colección para presentar los datos en tu sitio de nuevas maneras. 

Después de conectar un elemento de la página compatible a un conjunto de datos, puedes conectar sus valores de texto a una expresión de CMS. Luego, crea una expresión que consta de funciones, ID de campo, cadenas, números y otra sintaxis. Después, el texto en el elemento conectado muestra los resultados del cálculo de la expresión. 

Las expresiones constan de la siguiente estructura:

  • Funciones: define cómo calcular los valores que aparecen entre paréntesis después de la función, con los valores separados por comas (por ejemplo, MULTIPLY(price, count), DAYS(_createdDate, NOW()), CONCAT("Created on ", _created Date)).
  • ID de campo: los identificadores únicos de cada campo de la colección (por ejemplo, title, _createdDate, clientName).
  • Cadenas: una secuencia de caracteres que puede incluir letras, números, símbolos y espacios. 
    • Literales de cadena: una secuencia de caracteres entre comillas que se usa para mostrar texto estático (por ejemplo, "Hola", 'Hola', '"Errata" por Carlos Paz', "\"Errata\" por Carlos Paz", ""barra invertida es \\, barra diagonal es /").
    • Literales numéricos: valores numéricos utilizados por la función (por ejemplo, 123, 1000, 3.14).
    • Literales de matriz: una forma de expresar una matriz, que es una colección ordenada de valores, generalmente del mismo tipo, encerrados entre corchetes (por ejemplo, [1,2,3], ["cat", "dog", "mouse"]). 
  • Constantes especiales: valores predefinidos que tienen un significado específico dentro del alcance de la función (por ejemplo, true, false, undefined, null). 
Ten en cuenta que las expresiones distinguen entre mayúsculas y minúsculas. Al usar campos dentro de expresiones, usa ID de campo en lugar de nombres de campo, y recuerda que los ID de campo también distinguen entre mayúsculas y minúsculas.

A medida que escribas tus expresiones, recibirás sugerencias que te ayudarán a usar correctamente las funciones y los ID de campo. Para que sea más fácil ver los ID de campo en el editor, habilita el modo desarrollador.
Información importante sobre la escritura de expresiones:
  • Ingresa los ID de campo en lugar de los nombres de campo cuando hagas referencia a los campos de la colección. Los ID de campo son identificadores únicos para cada campo de la colección, a diferencia de los nombres de campo. 
  • Las funciones y los ID de campo distinguen entre mayúsculas y minúsculas. Presta atención a las mayúsculas y minúsculas utilizadas en ambos.
  • Para las funciones CONCAT, escribe los valores literales de cadena "estáticos" entre comillas. Esto incluye los signos de puntuación estáticos y los espacios entre los campos de referencia. 
  • Si la función no funciona, consulta el mensaje de error en la parte inferior del campo Expresión para obtener pistas sobre cómo solucionar el problema.  

Conectar elementos a expresiones en el conjunto de datos

Para comenzar, conecta el elemento correspondiente al CMS y elige la opción de conexión de expresión. Luego, ingresa la expresión que deseas usar. Consulta las siguientes secciones para obtener ayuda sobre cómo crear tu expresión.
Editor de Wix
Editor X
Editor de Wix Studio
  1. En el editor, haz clic en el elemento que deseas conectar al CMS (por ejemplo, texto, botón, galería).
  2. Haz clic en el icono Conectar a CMS .
  3. Haz clic en el menú desplegable Elige un conjunto de datos y selecciona un conjunto de datos existente que se conecte a tu colección. Como alternativa, haz clic en Crear un conjunto de datos y luego elige la colección que deseas conectar.
  4. Haz clic en el menú desplegable correspondiente debajo de Opciones de conexión y selecciona Expresión
  1. Haz clic en el campo Expresión.
  2. Ingresa el nombre de la función que deseas usar (por ejemplo, CONCAT, DATE, TEXT).
    Consejo: Una vez que empieces a escribir, puedes seleccionar de una lista de posibles funciones para usar. 
  1. Escribe un paréntesis de apertura: (
  2. Ingresa los ID de campo o los valores que deseas usar en la expresión. A medida que escribes, aparece una lista de ID de campo coincidentes que puedes seleccionar. 
  3. Escribe un paréntesis de cierre: )

Ejemplos de expresiones

Consulta los ejemplos para escribir diferentes tipos de expresiones en las siguientes secciones. 

Combinar valores de varios campos mediante la concatenación de cadenas

Usa la función CONCAT para combinar valores de varios campos de colección diferentes en un solo campo de texto. Agrega tu propio texto a la función para combinar caracteres estáticos con valores dinámicos. Los caracteres estáticos no cambian, mientras que los valores dinámicos sí lo hacen según el ítem recuperado por el conjunto de datos. Asegúrate de poner todo el texto estático entre comillas, incluidos los espacios y los signos de puntuación (por ejemplo, " " o ",").
 
Puedes usar diferentes funciones para hacer cosas similares y también puedes combinarlas dentro de funciones para tareas más avanzadas. Si hay un problema con la expresión, consulta el mensaje de error para obtener pistas sobre cómo resolverlo.
Un ejemplo para usar la función CONCAT es crear texto personalizado para la introducción de una página dinámica de ítem. El texto podría presentar a cada miembro por su nombre, mencionar el cargo que tienen y cuánto tiempo han estado en la empresa. Así es como se vería esa expresión:
1CONCAT("Nuestro ",jobTitle," ",title,", ha trabajado aquí desde el ",date,".")
En este ejemplo:
El ID del campo jobTitle representa el campo de la colección con el cargo de cada miembro. El ID del campo title es para el campo con el nombre de cada miembro. La clave hireDate proviene de un campo con la fecha de inicio de empleo de cada miembro. Observa cómo todo el texto estático y la puntuación están entre comillas. 
Mira la tabla a continuación para obtener más ejemplos básicos del uso de la función CONCAT:
Caso práctico
Expresión
Ejemplo
Resultado
Combinar valores de campo sin espacios ni puntuación
CONCAT(value,value)
CONCAT(title,jobTitle)
Brian Chang, Vicepresidente de Productos
Combinar valores de campo separados por una coma y un espacio
CONCAT(value,", ",value)
CONCAT(title,", ",jobTitle)
Brian Chang, Vicepresidente de Productos
Combinar texto estático con valores de campo
CONCAT("Hello, ",value)
CONCAT("Hello, ",title)
Hello, Brian Chang
Combinar valores de campo con texto estático al principio y al final
CONCAT("Hello, ",value,", welcome back.")
CONCAT("Hello, ",title,", welcome back.")
Hello, Brian Chang, welcome back.

Formato de fecha y hora

Cuando quieras controlar el formato de las fechas y las horas en tu sitio online, o calcular valores a partir de fechas, usa las funciones de fecha y hora. Estas funciones funcionan con tipos de campo de fecha, hora y número.
En el ejemplo anterior:
La función DAYS devuelve el número de días entre un campo dinámico dueDate y la fecha de hoy. Observa cómo combina la función DAYS con la función TODAY, así como la función CONCAT que se usa para fusionar texto estático y dinámico. 
Haz clic en la función correspondiente a continuación para obtener más información al respecto:

Formato de números con la función TEXT

Usa la función TEXT para aplicar formato a los números. Por ejemplo, puedes dar formato a los valores de un tipo de campo numérico como divisa o porcentaje. 
En el ejemplo anterior:
La función TEXT da formato a un tipo de campo numérico (precio) como un monto en dólares. Observa cómo se inserta la función TEXT dentro de una función CONCAT, que agrega el texto estático antes del precio. 
Haz clic a continuación para ver ejemplos de cómo usar la función TEXT:

Funciones matemáticas

Puedes usar funciones matemáticas para realizar cálculos basados en diferentes tipos de campos numéricos o números estáticos. 
En el ejemplo anterior:
La función MENOS calcula 20 -11= 9. El valor 20 es estático, mientras que el valor del campo numérico (rewardPoints) es dinámico. Observa cómo la expresión inserta la función MINUS dentro de la función CONCAT, que combina texto estático con valores dinámicos. 
Mira la tabla a continuación para ver más ejemplos del uso de expresiones matemáticas: 
Caso práctico
Expresión
Ejemplos
Resultados
Calcular la suma de 2 números
ADD(value,value)
ADD(number1,number2)

ADD(4,20)
24
Calcular la diferencia entre 2 números
MINUS(value,value)
MINUS(number1,number2)

MINUS(100,1)
99
Calcula multiplicando 2 números
MULTIPLY(value,value)
MULTIPLY(number1,number2)

MULTIPLY(2,4)
6
Calcula 1 número dividido por otro
DIVIDE(value,value)
DIVIDE(number1,number2)

DIVIDE(10,2)
5
Devuelve "true" si 2 valores son iguales y "false" en caso contrario
EQ(value,value)
EQ(number1,number2)

EQ(200,200)
true
Eleva un número ('x') a la potencia de otro número ('y')
POW(x,y)
POW(2,3)
POW(3,3)
8
27
Comprueba si dos valores son iguales
EQ (igual)
EQ(5,5) 
true
Comprueba si dos valores no son iguales
NE (distinto)
NE(5,7)
true
Comprueba si un valor es mayor que otro
GT (mayor que)
GT(7,5)
GT(7,7)
true
false
Comprueba si un valor es menor que otro
LT (menor que)
LT(5,7)
LT(7,5)
true
false
Comprueba si un valor es mayor o igual que otro
GTE (mayor o igual que)
GTE(7,5)
GTE(5,5)
GTE(5,4)
true
true
false
Comprueba si un valor es menor o igual que otro
LTE (menor o igual que)
LTE(5,7)
LTE(5,5)
LTE(5,4)
true
true
false

Preguntas frecuentes

Haz clic a continuación para obtener respuestas a las preguntas más frecuentes sobre el uso de expresiones. 

¿Te ha sido útil?

|