Liquid es un metalenguaje para crear contenido dinámico dentro de los emails y diseños de impresión de TS CRM , ideadas para el motor de e-commerce de Shopify.
Existen dos tipos de markup en Liquid: output y tag.
- El Output markup, que se convierte en el texto correspondiente, se encuentra encerrado entre llaves
{{username}}
- El Tag markup , que es un comando, se envuelven entre los siguientes caracteres {% %}
{% if <CONDITION>%} ... {% endif%}
Output
Las expresiones son declaraciones que ya disponen de un valor concreto. Las plantillas escritas en Liquid pueden usar expresiones en varios lugares; tanto en instrucciones de salida, como en argumentos para etiquetas o filtros.
Un ejemplo de una cadena es:
Hola {{'Usuario'}}
En este ejemplo, se imprimirá de forma literal así:
Hola Usuario
Sin embargo, si usamos una variable, por ejemplo:Hola {{name}}
El sistema buscará el nombre de la variable e imprimiráHola Carmen
Usando estas funciones es posible aplicar filtros a las variables, concatenándolas con el símbolo | (pipe, emerge con la combinación de teclas Alt+124).
Los parámetros de los filtros deben insertarse después de dos puntos.
Por ejemplo:
{{now | date: 'yyyy'}} => 2022
{{name | default: 'desconocido'}} => imprimirá el valor del campo o si no está definido (vacío) desconocido
Hola {{'Usuario' | upcase}} => USUARIO
{{'atenta' | append: 'mente'}} => atentamente
Son muchos los filtros admitidos. Encontrarás los más usados al final de esta ayuda.
Tag
Las etiquetas más usadas son las de expresiones lógicas, por ejemplo:
{% if name == 'Carmen' %} Bienvenida Compañera {% else %} Bienvenida usuaria {% endif %}
Las etiquetas de las condiciones son las más usadas, sin embargo, se han implementado toda la lógica del lenguaje Liquid :
- assign- asigna un valor a una variable
- capture- captura el texto contenido en el bloque y lo asigna a una variable
- case- es el caso estándar ... when
- cycle - se usa para ciclar valores dentro de un bucle (útil para alternar colores para cada fila en una tabla)
- for - el clásico bucle for
- if - la condición if / else
- unless - la condición inversa de if / else
- include - incluye otra plantilla - {% include filename.html%}
- comment- no imprime el contenido al estar comentado
- ifchanged - se usa dentro de un bucle para imprimir sólo si los datos han cambiado
Dispones de más detalles en el enlace de la guía original.
Lista de los filtros implementados
date: da formato a la fecha con la sintaxis .Net
capitalize - capitaliza las palabras
downcase - convierte el texto en minúsculas
upcase - convierte el texto en mayúsculas
first - devuelve el primer valor de un array
last - devuelve el último valor de un array
join - une los elementos de una array intercalando un carácter
sort - ordena los elementos de un array
map - asigna una array a una propiedad específica
size - devuelve el tamaño de una cadena de una array
escape - el escape de una cadena
escape_once - escape de una cadena html sin modificar los elementos ya convertidos
strip_html - eliminar etiquetas html de una cadena
strip_newlines - eliminar los retornos de carro (\n) de una cadena
newline_to_br - reemplazar los retornos de carro (\ n) con una ruptura html
replace - reemplazar cada ocurrencia
replace_first - reemplazar la primera ocurrencia
remove - elimina cada ocurrencia
remove_first - elimina la primera ocurrencia
truncate- trunca una cadena de n caracteres
truncatewords - trunca una cadena de n palabras
prepend - antepone la cadena con un valor
append - añade un valor a la cadena
minus - resta el valor
plus - suma el valor
times - multiplica el valor
divided_by - divide el valor
sum - suma el valor considerándolos como números y devolviendo un valor decimal
multiply - multiplica el valor considerándolos como números y devolviendo un valor decimal
divide - divide el valor considerándolos como números y devolviendo un valor decimal
subtract- resta el valor considerándolos le como números y devolviendo un valor decimal
format_as_money - formatea los datos numéricos redondeando al segundo decimal
empty_cell- inserta una celda vacía si el resultado es una división de valor nulo
split - divide una cadena en dos
format_date - formatea la cadena en formato fecha
is_date - comprueba si la cadena es del tipo fecha
chars - cuenta el número de caracteres
newline_to_br - en el en el caso de un campo de texto con varias líneas, se usa para ajustarlo al formato original del texto
capitalize_all - devuelve la cadena en mayúsculas
format_as_percentage - devuelve la cadena en formato de porcentaje
format_discount_formula - formatea la fórmula de descuento en los presupuestos
format_time- formatea la cadena en formato hora
format_decimal - formatea la cadena en formato decimal (con cualquier número decimal)
default - si la cadena que se va a imprimir está vacía, esta función imprime un valor predeterminado
discount - devuelve la fórmula de descuento del objeto
str_len - calcula la longitud de la cadena
now - Devuelve la fecha de hoy
Comentarios
0 comentarios
El artículo está cerrado para comentarios.