# Filtros
El marcado Output puede aceptar filtros, que modifican el resultado de la sentencia Output. Puede invocar filtros siguiendo la expresión principal de la sentencia Output con:
- Un caracter de barra vertical (
|
) - El nombre del filtro
- Opcionalmente, dos puntos (
:
) y una lista separada por comas de parámetros adicionales al filtro. Cada parámetro adicional debe ser una expresión válida, y cada filtro predefine los parámetros que acepta y el orden en que deben ser pasados.
Los filtros también se pueden unir entre sí añadiendo sentencias de filtro adicionales (comenzando con otro carácter de barra vertical). El Output del filtro anterior será el Input para el siguiente.
Hello {{ 'tobi' | upcase }}
Hello tobi has {{ 'tobi' | size }} letters!
Hello {{ '*tobi*' | textilize | upcase }}
Hello {{ 'now' | date: "%Y %h" }}
Un filtro es un método Ruby que toma uno o más parámetros y devuelve un valor. Los parámetros se pasan a los filtros por posición: el primer parámetro es la expresión que precede al carácter de barra vertical, y se pueden pasar parámetros adicionales usando la sintaxis name: arg1, arg2
.
# Append
Añade un string e.g. {{ 'foo' | append:'bar' }} #=> 'foobar'
# Capitalize
Poner palabra en mayúscula en la frase de entrada.
# Ceiling
Redondea hacia arriba un número decimal al próximo entero, e.g. {{ 4.6 | ceil }} #=> 5
# Date
Da formato a una fecha (syntax reference (opens new window))
# Default
Devuelve la variable dada a menos que sea nula o string vacío, entonces devuelve el valor dado, e.g. {{ undefined_variable | default: "Default value" }} #=> "Default value"
# Divided by
División de enteros e.g. {{ 10 | divided_by:3 }} #=> 3
# Downcase
Convierte un string de entrada en minúsculas.
# Escape once
Devuelve una versión escape de html sin afectar a las entidades escape existentes.
# Escape
Escape HTML a un string.
# First
Obtener el primer elemento del array pasado.
# Floor
Redondea un número decimal hacia abajo al entero más cercano, e.g. {{ 4.6 | floor }} #=> 4
# Format Date
Da formato a una fecha con la localización del sitio, usa la misma sintaxis que date
.
# Join
Une elementos del array con cierto caracter entre ellos.
# Last
Obtener el último elemento del array pasado.
# Lstrip
Elimina todos los espacios en blanco del principio de un string.
# Map
Mapear/coleccionar un array en una propiedad dada.
# Minus
Resta e.g. {{ 4 | minus:2 }} #=> 2
# Modulo
Modulo e.g. {{ 3 | modulo:2 }} #=> 1
# Newline to br
Reemplaza cada linea nueva (\n) con espacio HTML.
# Plus
Suma e.g. {{ '1' | plus:'1' }} #=> 2
, {{ 1 | plus:1 }} #=> 2
# Prepend
Precede un string e.g. {{ 'bar' | prepend:'foo' }} #=> 'foobar'
# Remove First
Elimina la primera incidencia e.g. {{ 'barbar' | remove_first:'bar' }} #=> 'bar'
# Remove
Elimina todas las incidencias e.g. {{ 'foobarfoobar' | remove:'foo' }} #=> 'barbar'
# Replace First
Reemplaza la primera incidencia e.g. {{ 'barbar' | replace_first:'bar','foo' }} #=> 'foobar'
# Replace
Reemplaza todas las incidencias e.g. {{ 'foofoo' | replace:'foo','bar' }} #=> 'barbar'
# Reverse
Invierte el array dado.
# Round
Redondea al número entero más cercano o al número especificado de decimales e.g. {{ 4.5612 | round: 2 }} #=> 4.56
# Rstrip
Elimina todos los espacios en blanco del final de un string
# Script Tag
Genera el tag HTML <script>
para un template JavaScript, tomando como parámetros la URL y atributos de la forma attr: 'value'
, e.g. {{ 'my-js-url' | script_tag: async: 'async', defer: 'defer' }}
=> <script src='my-js-url' type='text/javascript' async='async' defer='defer'></script>
# Size
Devolver el tamaño de un array o string
# Slice
Divide un string. Toma un desplazamiento y una longitud, e.g. {{ "hello" | slice: -3, 3 }} #=> llo
# Sort
Ordena elementos del array
# Split
Dividir un string en un patrón coincidente e.g. {{ "a~b" | split:"~" }} #=> ['a','b']
# Times
Multiplica e.g {{ 5 | times:4 }} #=> 20
# Truncate
Restringe un string a x caracteres. También acepta un segundo parámetro que se añadirá al string e.g. {{ 'foobarfoobar' | truncate: 5, '.' }} #=> 'foob.'
# Truncatewords
Restringe una string a x palabras
# Uniq
Elimina elementos duplicados de un array, utilizando opcionalmente una propiedad determinada para comprobar su unicidad.
# Upcase
Convierte un string de entrada a mayúsculas
# URL Encode
Codifica un string a URL
# Commerce
Estos son los filtros liquid que alteran valores relacionados con Comercio.
# Format Currency
Agrega formato de divisa a un valor. e.g. {{ 4 | format_currency }} => $4
{{ 1890.5123 | format_currency: unit: '¥', separator: ',', delimiter: '.', precision: 3 }} = ¥1.890,512
Importante
Este filtro determina el formato de la moneda y tiene prioridad sobre cualquier otra configuración de divisa.
Si no especificas parámetros de divisa con el filtro de currency, Modyo utiliza la configuración de payment del reino.
En caso de que el sitio no tenga un reino asociado y no especifiques parámetros, se aplicará el formato predefinido del idioma del sitio.
Parámetros:
- unit - símbolo de la moneda.
- separator - separador de decimales.
- delimiter - separador de miles.
- precision - cantidad de dígitos decimales.
# Content
Estos son los filtros liquid que alteran valores relacionados al módulo de Content en Modyo Platform.
# Asset Image
Retorna los tags de una imagen usando su uuid del Gestor de Archivos. e.g. {{ uuid | asset_image }}
# Asset Link
Retorna el URL de una imagen usando su uuid del Gestor de Archivos. e.g. {{ uuid | asset_link: 'Este es una liga para el asset' }}
# Asset URL by UUID
Retorna el URL de una imagen usando su uuid del Gestor de Archivos. e.g. {{ uuid | asset_url_by_uuid }}
# Asset Video
Retorna los tags de un video usando su uuid del Gestor de Archivos. e.g. {{ uuid | asset_video: 350, 300 }}
Parametros:
- uuid (String) — asset uuid
- width (Integer) (default: 300) — ancho
- height (Integer) (default: 200) — largo
# By Category
Retorna una lista de Entradas que pertenecen a la Categoría seleccionada. e.g. {% assign filtered_entries = entries | by_category: 'category2,category1,category3' %}
Parametros:
- entries (ArrayEntry) — array con entradas
- list (String) (default: '') — String con categorías separadas por coma.
# By Lang
Retorna una lista de Entradas que pertenecen a un lenguaje seleccionado. e.g. {% assign entries = widget.entries | locale: 'es,en,pt' %} => entries
Parametros:
- entries (ArrayEntry) — array con entradas
- locale (String) (default: '') — String con lenguajes separadas por coma.
# By Slug
Retorna una lista de Entradas que pertenecen a un slug seleccionado. e.g. {% assign filtered_entries = entries | by_slug: 'slug2,slug1,slug' %}
Parametros:
- entries (ArrayEntry) — array con entradas
- slug (String) (default: '') — Slug separadas por coma.
# By Tag
Retorna una lista de Entradas que pertenecen a un tag seleccionado. e.g. {% assign entries = widget.entries | by_tag: 'tag2,tag1,tag3' %} => entries
Parametros:
- entries (ArrayEntry) — array con entradas
- locale (String) (default: '') — String con tags separadas por coma.
# By Type
Retorna una lista de Entradas que pertenecen a un Tipo de Contenido seleccionado. e.g. {% assign filtered_entries = entries | by_type: 'type2,type1,type3' %}
Parametros:
- entries (ArrayEntry) — array con entradas
- locale (String) (default: '') — String con tipos de contenido separados por coma.
# Filter By
Retorna una lista de Entradas que cumplen con un filtro. e.g. {% assign entries = widget.entries | filter_by: field: 'name', eq: 'entry3Cat3' %}
Parametros:
- entries (ArrayEntry) — array con entradas
- opts (Hash) (default: {}) — hash con el campo y eq como el valor
# Filter By Query String
Retorna una lista de Entradas que cumplen con un query. Se pueden usar operadores lógicos, varios campos meta, URLs, o tags de Liquid.
Operators:
- gt, lt, in, all, nin
Fields:
- meta.category meta.category_slug meta.category_name meta.uuid meta.name meta.created_at meta.updated_at meta.published_at meta.unpublished_at meta.slug meta.tag
Url examples:
- https://company.site.com/testsite?meta.category_slug=category3
- https://company.site.com/testsite?meta.tag=tag_name
- https://company.site.com/testsite?meta.tag[in][]=tag1_name&meta.tag[in][]=tag2_name
- https://company.site.com/testsite?meta.created_at=1987-11-19T13:13:13
e.g. {% assign entries = widget.entries | filter_by_query_string %}
Parametros:
- entries (ArrayEntry) — array con entradas
# From Published Date
Retorna una lista de Entradas que tengan una fecha de publicación más reciente que el límite. e.g. {% assign entries = widgets.entries | from_published_date: date %}
Parametros:
- entries (ArrayEntry) — array con entradas
- date (Datetime)(default: Time.zone.now) — fecha límite
# Limit
Límita el número de resultados. e.g. {{ entries | limit: 1 }}
Parametros:
- objeto(Array) — array
- limit (Integer)(default: 1) — límite de resultados
# Paginated
Separa los resultados en páginas. e.g. {{ objects | paginated: 10, 2 }}
Parametros:
- objeto(Array) — array
- per_page (Integer) (default: 10) — objetos por página
- page (Integer) (default: 1) — número de página a mostrar
# Sort By
Retorna un array con las entradas ordenadas por un campo e.g. {% assign entries = widgets.entries | sort_by: 'name', 'asc' %}
Parametros:
- entries (ArrayEntry) — array con entradas
- atributo (String) — campo por el cual se quiere ordenar
- orden (String) - asc (asecendente) o desc (desciendiente)
# To Published Date
Retorna una lista de Entradas que tengan una fecha de publicación más vieja que el límite. e.g. {% assign entries = widgets.entries | to_published_date: date %}
Parametros:
- entries (ArrayEntry) — array con entradas
- date (Datetime)(default: Time.zone.now) — fecha límite
# Crypto
Estos son los filtros liquid que alteran valores relacionados a la Cryptología.
# Base64 Decode
Retorna el valor Base64-decoded de un string e.g. {% 'Hello world' | base64_encode %} # => 'SGVsbG8gd29ybGQ='
.
# Base64 Encode
Retorna el valor Base64-encoded de un string e.g. {% 'SGVsbG8gd29ybGQ=' | base64_decode %} # => 'Hello world'
.
# HMAC SHA1
Retorna el hash SHA-1 usando un código de autenticación de mensajes (HMAC) de un string. e.g. {% 'Hello world' | hmac_sha1: 'key' %} # => '2a73959742baf046e6e2e27e5ee94bcff0af31b1'
# HMAC SHA256
Retorna el hash SHA-256 usando un código de autenticación de mensajes (HMAC) de un string. e.g. {% 'Hello world' | hmac_sha256: 'key' %} # => 'a82b2e160edaf92a6589dc11160d2a10c04449840a58717db308c1ee3512b039'
# MD5
Retorna el hash MD5 de un string. e.g. {% 'Hello world' | md5 %} # => '3e25960a79dbc69b674cd4ec67a72c62'
# SHA1
Retorna el hash SHA-1 de un string. e.g. {% 'Hello world' | sha1 %} # => '7b502c3a1f48c8609ae212cdfb639dee39673f5e'
# SHA 256
Retorna el hash SHA-256 de un string. e.g. {% 'Hello world' | sha256 %} # => '64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c'
# CSS
Estos son los filtros liquid que alteran valores relacionados a CSS en Modyo Platform.
# Brighten
Agrega brillo a un color. e.g. {{ '#00ff00' | brighten: 15 }} #=> '#26ff26'
# Darken
Reduce brillo a un color. e.g. {{ '#00ff00' | darken: 15 }} #=> '#00b300'
# Desaturate
Desatura un color. e.g. {{ '#00ff00' | desaturate: 15 }} #=> '#13ec13'
# Grayscale
Convierte un color a escala de gris. e.g. {{ '#00ff00' | grayscale }} #=> '#808080'
# Lighten
Aligerar un color. e.g. {{ '#00ff00' | lighten: 15 }} #=> '#4dff4d'
# Opacity
Modifica la opacidad de un color. e.g. {{ '#00ff00' | opacity: 0.5 }} #=> 'rgba(0, 255, 0, 0.5)'
# RGB
Transforma un color a su equivalente RGB. e.g. {{ '#00ff00' | rgb }} #=> 'rgb(0, 255, 0)'
# Saturate
Satura un color. e.g. {{ '#00ff00' | saturate: 15 }} #=> '#00ff00'
# Spin
Gira en grados a favor de las manecillas del reloj un color.
{{ '#00ff00' | spin: 15 }} #=> 'rgba(0, 255, 0, 0.5)'
# Location
Estos son los filtros liquid que alteran valores relacionados a la Geolocalización en Modyo Platform.
# Dynamic Map
Retorna un mapa dínamico de Google Maps. e.g. {{ locations | dynamic_map: '600x300', 'true', 'roadmap', true}}
Parametros
- locations (ArrayHash) — Array de hashes con los puntos de latitud y longitud.
- size (String) (default: '600x300') — Tamaño en pixeles del mapa
- zoom (String) (default: 10) — Nivel de zoom para el mapa
- type (String) (default: 'roadmap') — Tipo de mapa
- icon (String) (default: '') — Ícono para el mapa
- controls (String) (default: true) — Controles de navegación para el mapa
# Static Map
Retorna un mapa estático de Google Maps. e.g. {{ locations | static_map: '600x300', 'true', 'roadmap'}}
Parametros
- locations (ArrayHash) — Array de hashes con los puntos de latitud y longitud.
- size (String) (default: '600x300') — Tamaño en pixeles del mapa
- zoom (String) (default: 10) — Nivel de zoom para el mapa
- type (String) (default: 'roadmap') — Tipo de mapa
- icon (String) (default: '') — Ícono para el mapa
# Menu Items
Estos son los filtros liquid que alteran valores relacionados a los ítems de menús en Modyo Platform.
# Active Page
Determina si un item URL está activo. Retorna 'active' cuando es activo. e.g. {{ 'company.modyo.com/jobs' | active_page: 'company.modyo.com/jobs' }} #=> 'active'
# Item Rel
Retorna 'noopener noreferrer' si un link es "_blank". e.g. {{ '_blank' | item_rel }} #=> 'noopener noreferrer'
# Resolve URL
Resuelve el URL de un path y URL base. e.g. {{ 'dynamic_bank' | resolve_url: 'company.modyo.com' }} #=> 'company.modyo.com/dynamic_bank'
# Visible Items
Retorna una lista de ítems visibles en una lista de ítems. e.g. {{ items | visible_items }}
# Site
Estos son los filtros liquid que alteran valores relacionados a los Sitios en Modyo Platform.
# Asset Image Tag
Genera el HTML tag de una imagen. e.g. {{ asset | asset_image_tag: 'original' }}
# Asset Thumbnail Link Tag
Genera el HTML tag del thumbnail de una imagen. e.g. {{ asset | asset_thumbnail_link_tag: 'class', 'target' }}
Parametros
- asset (Asset) — Objecto de tipo Asset
- classes (String) (default: '') — Clases HTML adicionales (opcional)
- target (String) (default: '') — targets HTML adicionales (opcional)
# Asset URL
Genera la URL de un objeto tipo Asset. e.g. {{ {{ asset | asset_url: 'original' }}
# Audio Player
Genera la URL de un objeto tipo Audio. e.g. {{ {{ audio1 | audio_player }}
# Bar Code
Genera la URL de un código de barras. e.g. {{ value | bar_code: 320, 320 }}
Parametros
- value (String) — Valor del código de barra
- width (Integer) (default: 100) — Ancho
- height (Integer) (default: 100) — Alto
# Button To
Genera un botón. e.g. {{ 'Hello World' | button_to: 'http://www.google.com' }}
# Cookie Value
Retorna el valor de una cookie. e.g. {{ 32 | cookie_value }}
# Embedded Video
Retorna el URL de un video integrado. e.g. {{ movie2 | embedded_video }}
# Escape JS
Evita interpretar código JavaScript. e.g. {{ '<script>alert("hello world");</script>' | escape_js }}
# Format Date
Traduce una fecha a otro formato. e.g. {{ time | format_date: '%e %b, %Y' }}
Parametros
- time (DateTime) — Fecha
- format_date (String) (default: '') — El nuevo formato para la fecha
# Format DateTime
Traduce una fecha a formato DateTime. e.g. {{ time | format_datetime }}
# Format Short Date
Traduce una fecha a un formato reducido. dd-mm-yyyy e.g. {{ time | format_short_date }}
# Asset Image Tag
Retorna el tag de una imagen. e.g. {{ url | asset_image_tag }}
# Link To
Agrega un tag de anchor link. e.g. {{ 'Hello World' | link_to: 'http://www.google.com', 'this is my alt', 'small', '_blank' }}
Parametros
- text (String) (default: '') — texto para el link
- link (String) (default: '/') — url para el link
- alt (String) (default: '') — alt para el link
- class (String) (default: '') — class para el link
- target (String) (default: '') — target para el link
# Notifications
Despliega la variable de mensaje flash. e.g. {{ 'alert-error' | notifications }}
# Primary button to
Genera un botón de tipo primario. e.g. {{ 'Hello World' | primary_button_to: 'http://www.google.com', 'large' }}
Parametros
- text (String) (default: '') — texto para el link
- link (String) (default: '/') — url para el link
- size (String) (default: 'large') — tamaño para el link
# QR Code
Genera un código qr. e.g {{ value | qr_code: 4, 320, 320 }}
Parametros
- value (String) (default: '') — valor para el qr
- qr_size (Integer) (default: 4) — tamaño del qr
- width (Integer) (default: 100) — ancho del qr
- height (Integer) (default: 100) — largo del qr
# Sanitize HTML
Sanitiza los tags HTML de un String. e.g. {{ '<script>Hello World</script>' | sanitize }} #=> 'Hello World'
# Script Tag
Agrega un script tag. e.g. {{ 'test-script' | script_tag }}
# Search Box
Agrega un campo del buscador. e.g. {{ 'testsite' | search_box }}
# Strftime
Convierte un datetime a formato String. e.g. {{ time | strftime: '%m/%d/%y' }}
# Strip tag
Elimina todos los tags HTML y su contenido de un String. e.g. {{ '<script>Hello World</script>' | strip_tags }} #=> ""
# Stylesheet Tag
Genera el tag HTML <link>
para un template CSS, tomando como parámetros la URL y atributos de la forma attr: 'value'
, e.g. {{ 'my-css-url' | stylesheet_tag: media: 'screen', title: 'color style' }}
=> <link href='my-css-url' rel='stylesheet' type='text/css' media='screen' title='color style' />
# Theme Javascript
Agrega un tag de theme en Javascript. e.g. {{ 'home-page-javascript' | theme_javascript }}
# Theme Stylesheet
Agrega un tag de theme en CSS. e.g. {{ 'home-page-stylesheet' | theme_stylesheet }}
# Time Ago in Words
Convierte una fecha en String a en palabras. e.g. {{ '01-02-2019' | time_ago_in_words }} #=> 'over 3 years'
# Translate
Resuelve el texto de traducción para llaves de Sitios. Valores personalizados serán retornados si existen. e.g. {{ 'admin.logs.errors.no_logs_yet' | translate }}
# Truncate HTML
Retorna un String después de truncarlo. e.g. {{ html | truncate_html: 10 }}
# Video Player
Agrega un reproductor de video en código HTML usando un asset del Gestor de Archivos. e.g. {{ movie1 | video_player: 320, 320 }}
Parámetros
- video (Asset) — Objeto de tipo Video del Gestor de Archivos
- width (Integer) — ancho para el video
- height (Integer) — largo para el video
# User
Estos son los filtros liquid que alteran valores relacionados con los Usuarios.
# Image For
Despliega el código HTML para la imágen de un usuario. e.g. {{ user | avatar_for: 'C50x50', true }}
Parámetros
- user (User) — Objeto User
- size (Integer) (default: 'C50x50') — Tamaño para la imágen
- link (Boolean) (default: true) — True agrega una liga hacia el perfil del usuario.
# Default Avatar Image
Despliega la imágen por defecto del avatar. e.g. {{ user | avatar_for: 'C50x50' }}
Parámetros
- user (User) — Objeto User
- size (Integer) (default: 'C50x50') — Tamaño para la imágen
# Widget
Estos son los filtros liquid que alteran valores relacionados con los Widgets.
# Entry Limit
Determina el límite de entradas para un widget. e.g. {{ widget1 | entry_limit }}
# Resolve Home Widget List
Retorna una lista de todos los widgets que pertenecen a un Sitio. e.g. {{ site | resolve_home_widget_list }}
# Resolve Me Widget List
Retorna una lista de todos los widgets que pertenecen a una página "me". e.g. {{ site | resolve_me_widget_list }}
# Resolve Widget List
Retorna una lista de todos los widgets que pertenecen a una página. e.g. {{ site | resolve_widget_list: page }}
Parámetros
- site (Site) — Objeto de tipo Sitio
- page (Page) — Objeto de tipo Página