Complementos maestros
Compra ahora

Empezando

  • ¿no puedes ver el elemento de complemento maestro dentro del editor de página Elementor?
  • ¿cómo solicitar una cuenta de afiliado?
  • Versión Active Pro
  • Instalando el complemento

Complementos

  • Configuración del widget de activación emergente
  • Configuración de widgets de contenido fuera del lienzo
  • Configuración del widget del control deslizante del logotipo
  • Configuración del widget de barras de progreso
  • Configuración del carrusel de imágenes
  • Configuración destacada del widget del producto
  • Configuración del widget de la tabla comparativa
  • Configuración del widget del código fuente
  • Configuración avanzada del widget de imagen
  • Configuración del widget de encabezado de gradiente
  • Configuración del control deslizante de galería
  • Alternar configuración del widget de contenido
  • Configuración del widget del cuadro de información
  • Configuración del widget de línea de tiempo
  • Configuración dinámica de widgets de tabla
  • Configuración del widget Mailchimp
  • Configuración del widget BlockQuote
  • Configuración del widget de registro de cambios
  • Configuración del widget del temporizador de cuenta regresiva
  • Configuración del widget de hora actual
  • Configuración del widget de búsqueda
  • Galería de imágenes filtrables
  • Configuración del widget del control deslizante del equipo
  • Contrarrestar la configuración del widget
  • Restringir la configuración de contenido
  • Tabla de contenido Configuración del widget
  • Configuración del widget del punto de acceso de imagen
  • Configuración del widget de comparación de imágenes
  • Configuración del widget de ticker de noticias
  • Efectos de desplazamiento de imagen
  • Configuración de pestañas
  • Configuración del widget de la tabla de precios
  • Configuración del widget del menú de navegación
  • Configuración del widget de búsqueda de dominio
  • Configuración del widget Flipbox
  • Configuración de información sobre herramientas
  • Configuración del widget de enlaces creativos
  • Configuración del widget de horario comercial
  • Formulario de contacto 7 Configuración del widget
  • Configuración del widget de botón creativo
  • Configuración de titulares animados
  • Configuración avanzada del widget de acordeón
  • Configuración del widget de llamada a la acción
  • Configuración del widget de la barra de progreso
  • Publicaciones de blog Configuración de widgets
  • Configuración del widget de miembro del equipo
  • Configuración de encabezado dual

Extensiones

  • Configuración de la biblioteca de iconos
  • Configuración del mega menú
  • Qué configuración de extensión de elemento
  • Configuración de extensión de duplicador de publicaciones/páginas
  • Configuración de extensión de línea de cuadrícula
  • Configuración de extensión de Glassmorphism
  • Configuración de extensión de información sobre herramientas
  • Configuración del enlace envolvente
  • Configuración de extensión de efectos flotantes
  • Configuración de etiquetas dinámicas
  • Condiciones de visualización Configuración de extensión
  • Configuración de animación de entrada
  • Configuración de puntos de interrupción personalizados
  • Configuración de extensión BG de gradiente animado
  • Revelar configuración de extensión
  • Configuración de extensión de partículas
  • Configuración de extensión del control deslizante de fondo
  • Transforma la configuración de extensión
  • Configuración de extensión de Rellax
  • Configuración de extensión de posicionamiento
  • Configuración personalizada de CSS

Creador de widgets

  • Condiciones
  • Sintaxis de ramita
  • Introducción al panel de configuración
  • Divisor
  • Sombra de texto
  • Seleccione2
  • Frontera
  • Encabezado
  • Pestañas
  • Repetidor
  • Elección visual
  • Antecedentes
  • Dimensiones
  • Sombra de caja
  • Deslizador
  • Iconos
  • Galería
  • Medios
  • Alternar Popover
  • Campo de URL
  • Fecha Hora
  • Tipografía
  • Fuente
  • Campo de color
  • Elegir
  • Seleccionar
  • Conmutador
  • Oculto
  • Código
  • wysiwyg
  • Campo Textarea
  • Número
  • Campo de texto

Creador de temas

  • Formulario de comentario
  • 404
  • Buscar
  • Archivo
  • Soltero
  • Pie de página
  • Encabezado

Creador de ventanas emergentes

  • Cómo abrir una ventana emergente después de la inactividad en Elementor
  • Cómo mostrar una ventana emergente de intención de salida en Elementor
  • Cómo abrir una ventana emergente en el desplazamiento a un elemento específico en Elementor
  • Cómo abrir una ventana emergente al desplazarse en Elementor
  • Cómo abrir una ventana emergente al hacer clic en Elementor
  • ¿Cómo abrir una ventana emergente en la carga de la página?
  • Configuración y opciones de ventanas emergentes

Kit de plantillas

  • Cómo importar kits de plantillas en complementos maestros
  • Cómo deshabilitar fuentes y colores predeterminados de Elementor
  • Importar kits de plantillas Elementor
Ver categorías
  • Hogar
  • Documentos
  • Creador de widgets
  • Sintaxis de ramita

Sintaxis de ramita

Roy Jemee
Actualizado el 8 de agosto de 2026

Lectura de 9 minutos

Los complementos maestros Creador de widgets representa HTML, CSS y JavaScript de su widget a través de a Motor de plantilla de sintaxis de ramita. Si ha tocado Twig en Timber o Craft CMS, la sintaxis le resultará familiar: {{ tokens }} imprimir valores de campo, {% if %} los bloques muestran u ocultan el marcado, y {% for %} los bucles recorren las filas de repetidores.

Este es un subconjunto seguro integrado en el complemento, no en la biblioteca Twig completa. No hay evaluación ni PHP compilado detrás de él, y cada valor impreso se escapa según su tipo de campo. Obtienes las partes de Twig que importan para las plantillas de widgets, sin las partes que podrían convertir un generador de páginas en un problema de seguridad.

Master Addons Editor de código Widget Builder que muestra las pestañas HTML, CSS y JS donde se escriben las plantillas de sintaxis de Twig

Donde escribes código de plantilla #

El editor Widget Builder tiene tres pestañas de código y el motor funciona en todas ellas:

  • HTML: el marcado de su widget. Los tokens, condiciones y bucles viven aquí.
  • CSS: los estilos de su widget. Los tokens funcionan dentro de los valores de propiedad, por lo que un campo de color puede alimentarse background: directamente.
  • J:J.: Javascript opcional. Los tokens también funcionan aquí, lo cual es útil para pasar valores de campo a un script.

Cada control que agrega al panel de opciones del widget se convierte en una variable de plantilla que lleva el nombre del campo Nombre configuración. Agregar un Campo de texto nombrado title y {{ title }} imprime lo que sea que haya escrito el usuario. La barra lateral de documentación al lado del editor de código enumera el token para cada campo a medida que lo agrega, por lo que nunca tendrá que adivinar la ortografía.

Barra lateral de documentación en Widget Builder que enumera los tokens de plantilla disponibles para cada campo del widget

Nota: la plantilla HTML se representa en cada compilación, pero la salida CSS y JS se envía con Complementos maestros Pro, igual que el propio Widget Builder completo.

Imprimir valores con tokens #

La plantilla más sencilla es markup plus tokens:

<div class="hero">
  <h2>{{ title }}</h2>
  <p>{{ description }}</p>
  <a href="{{ button_link }}">{{ button_text }}</a>
</div>

Algunas reglas que vale la pena conocer:

  • Caminos punteados alcanzar valores estructurados: {{ item.name }} dentro de un bucle, o {{ tabs.tab_1.person }} para un control de pestañas.
  • Los campos multimedia imprimen su URL. Cuando un token contiene una matriz de imágenes o videos, el motor genera url parte automáticamente, entonces <img src="{{ photo }}"> sólo funciona.
  • Escapar sigue el tipo de campo. Los campos de URL pasan por el escape de URL, los campos WYSIWYG y Code permiten HTML seguro y todo lo demás se escapa HTML. No es necesario que desinfectes nada usted mismo.

Filtros #

Agregue un filtro a un token con el carácter de tubería. El motor admite cinco:

  • {{ title|upper }} imprime el valor en UPPERCASE.
  • {{ title|lower }} lo imprime en minúsculas.
  • {{ title|trim }} elimina los espacios en blanco de ambos extremos.
  • {{ content|raw }} omite escapar e imprime el valor tal como está.
  • {{ content|e }} (o |escape) fuerzas que escapan después de a raw.

Tratar |raw como herramienta nítida. Existe para casos en los que un campo contiene marcado intencionalmente y usarlo en un campo de texto sin formato significa que cualquier tipo de editor de página llegue a su página sin escapar. Si el campo es un tipo WYSIWYG o Código que rara vez necesita raw en absoluto, ya que esos tipos ya permiten el paso de etiquetas HTML seguras.

Marcado condicional con si se bloquea #

Un {% if %} el bloque representa su contenido sólo cuando pasa la condición. Este es el socio frontal de la opción Condiciones del lado del panel: Condiciones ocultan el control en el panel Elementor y el if block elimina el marcado coincidente de la página.

{% if show_badge %}
  <span class="badge">{{ badge_text }}</span>
{% endif %}

Se comprueba la veracidad de una variable desnuda, estilo Twig: cadenas vacías, 0, las listas vacías y los valores no establecidos cuentan como falsos. Desde a Campo conmutador tiendas yes cuando está activado y un valor vacío cuando está desactivado, {% if show_badge %} es todo lo que necesitas para alternar.

La ramificación completa también funciona:

{% if layout == "card" %}
  <div class="item item--card">...</div>
{% elseif layout == "list" %}
  <div class="item item--list">...</div>
{% else %}
  <div class="item">...</div>
{% endif %}
Twig si el bloque en el editor HTML de Widget Builder envuelve el marcado del segundo botón para que solo se represente cuando el conmutador esté encendido

Operadores que puedes utilizar en condiciones #

  • Comparaciones: ==, !=, >, <, >=, <=. Los valores se comparan como números cuando ambos lados son numéricos, como texto en caso contrario.
  • Logica: and, or, not, escrito en palabras minúsculas.
  • Literales: strânduri citate ("card" o 'card'), numere, true, false, y null.

Combinați-le gratuit: {% if show_price and price > 0 %}, sau {% if not hide_footer %}, sau {% if plan == "pro" or plan == "agency" %}.

Recorriendo filas de repetidores #

El Campo repetidor es donde {% for %} se gana su sustento. Un repetidor nombrado menu_items con subcampos dish, price, y photo renderiza así:

<ul class="menu">
{% for item in menu_items %}
  <li class="menu__row">
    <img src="{{ item.photo }}" alt="{{ item.dish }}">
    <span class="menu__dish">{{ item.dish }}</span>
    <span class="menu__price">{{ item.price }}</span>
  </li>
{% endfor %}
</ul>

La variable del bucle (aquí item, pero cualquier palabra funciona) contiene una fila a la vez y cada subcampo está disponible a través de una ruta punteada bajo el nombre que le diste. Las condiciones funcionan dentro de bucles, por lo que los cambios por fila están a una cuadra anidada:

{% for member in team %}
  <div class="member">
    <h3>{{ member.name }}</h3>
    {% if member.role %}<p class="role">{{ member.role }}</p>{% endif %}
  </div>
{% endfor %}
Twig for loop en el editor HTML de Widget Builder que representa filas de repetidores con tokens de elementos punteados

Tablas de lectura y campos Popover #

Dos controles estructurales exponen los valores de sus hijos a través de formas simbólicas especiales:

  • Pestañas: los niños son leídos con un camino de tres partes: {{ tabs_name.tab_name.field_name }}. Un control de pestañas nombrado tabs con un tab_1 pestaña que contiene un person impresiones de campo como {{ tabs.tab_1.person }}. No se necesita bucle.
  • Alternar Popover: cada campo dentro de la ventana emergente obtiene un token combinado: el nombre del interruptor, un guión bajo y luego el nombre del campo. Un popover nombrado overlay con un opacity campo dentro de las impresiones como {{ overlay_opacity }}.

Tokens en CSS #

La pestaña CSS pasa por el mismo motor, por lo que los campos de estilo se conectan directamente a los valores de propiedad:

.hero {
  background: {{ bg_color }};
  color: {{ text_color }};
}

{% if enable_shadow %}
.hero {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}
{% endif %}

Un if bloquear una regla completa es una forma limpia de enviar un estilo opcional: la regla solo existe en la salida cuando el interruptor está activado. Por ejemplo, aquí también funciona un campo multimedia background-image: url("{{ hero_image }}");, ya que el token se resuelve en la URL del archivo.

Editor CSS de Widget Builder con tokens Twig que imprimen valores de campos de color en propiedades personalizadas de CSS

Tokens en JavaScript #

La pestaña JS le permite pasar valores del panel a un script. Cite valores de cadena y apóyese en la veracidad para alternar:

var speed = {{ slide_speed }};
var autoplay = "{{ autoplay }}" === "yes";

if (autoplay) {
  startSlider(speed);
}

Los valores impresos en JS se escapan como cualquier otro token, por lo que un usuario no puede salir de su script escribiendo comillas en un campo de texto.

Recetas prácticas #

Algunos patrones que aparecen en casi todos los widgets:

  • Segundo botón opcional: envuelve todo el ancla {% if second_button_text %} entonces el botón desaparece cuando el campo de texto está vacío. No se requiere conmutador.
  • Clase de diseño de una selección: imprima el campo directamente en el atributo de clase: <div class="pricing pricing--{{ layout }}">, luego peina cada variante en CSS.
  • Conținut de retomate: {% if caption %}{{ caption }}{% else %}Untitled{% endif %} evita que el marcado represente elementos vacíos.
  • Niveles de precios numerados: {% if price >= 100 %}<span class="premium-tag">Premium</span>{% endif %} reacciona al valor de un campo Número.
  • Etiquetas mayúsculas: {{ eyebrow|upper }} deja que el CSS se mantenga libre de text-transform cuando el diseño requiere tapas en un solo lugar.
  • Galerías, menús, líneas de tiempo y testimonios impulsados por repetidores: uno {% for %} loop plus un repetidor reemplaza un número fijo de bloques copiados y pegados.
Widget Elementor personalizado en la interfaz representado desde una plantilla de sintaxis de Twig con tokens y un segundo botón condicional

Lo que el motor no soporta #

Conocer los bordes ahorra tiempo de depuración. Este es un subconjunto deliberado, por lo que algunas funciones de Twig completa están ausentes:

  • prohibido {% set %}, macros, incluye o herencia de plantillas.
  • No hay expresiones internas matemáticas: compare valores, pero calcule en CSS calc() o en la pestaña JS.
  • Sin filtros más allá raw, escape/e, upper, lower, y trim.
  • prohibido loop.index u otros metadatos de bucle en su interior {% for %}.
  • No hay paréntesis para agrupar lógica. Ordene su and/or cadenas para que lean correctamente o se dividan en anidadas if bloques.

Si una plantilla necesita una lógica más pesada que esta, normalmente es una señal para mover la decisión al panel, por ejemplo, un campo Seleccionar cuyas opciones llevan los valores que estaba intentando calcular.

Preguntas frecuentes #

¿el Widget Builder utiliza la biblioteca Twig real?

No. Envía su propio motor liviano que sigue la sintaxis de Twig: tokens, si se bloquean, bucles for y un pequeño conjunto de filtros. No hay evaluación ni PHP compilado, y la salida se escapa por tipo de campo, lo que hace que las plantillas sean seguras de forma predeterminada.

¿qué funciones de Twig admite Widget Builder?

Tokens de salida con rutas punteadas, filtros sin procesar, de escape, superior, inferior y de recorte, si, elseif y else ramificando, para bucles sobre filas repetidoras, comparaciones y operadores y, o, y no. Establecer, macros, incluye y las expresiones matemáticas no forman parte del subconjunto.

¿Cómo imprimo los valores de un campo repetidor?

Pase el repetidor por el nombre de su campo: ábralo con una etiqueta for como {% for item in menu_items %}, imprima cada subcampo con un token de puntos como {{ item.dish }}, y cerrar con {% endfor %}. Los subcampos utilizan los nombres que configuró en el repetidor.

¿por qué mi valor muestra etiquetas HTML como texto?

El campo se está escapando como texto sin formato. Almacene el marcado en un campo WYSIWYG o Código, que permite el paso HTML seguro automáticamente, o agregue el filtro sin formato al token si confía plenamente en el contenido del campo.

¿funcionan los tokens en las pestañas CSS y JS?

Sí, el mismo motor representa las tres pestañas, por lo que los tokens, los bloques if y los bucles se comportan de manera idéntica. Emitir CSS y JS personalizados en la interfaz es una capacidad Master Addons Pro, mientras que la plantilla HTML se representa en cada compilación.

Envolviendo #

El motor de sintaxis Twig es lo que conecta los campos de Widget Builder a su marcado: {{ tokens }} imprimir valores de panel, {% if %} elimina el marcado opcional cuando está apagado y {% for %} permite que un bloque de HTML sirva como repetidor ilimitado. Comience con tokens simples, agregue un bloque if para su primer cambio y luego gradúe a bucles cuando se repita un diseño. A partir de ahí, el Repetidor, Seleccionar, y Conmutador los campos cubren la mayoría de los widgets dinámicos que necesitará crear. ¿Nuevo para el propio constructor? El Descripción general del creador de widgets camina por el editor y el página de precios muestra lo que incluye cada plan.

¿cuáles son tus sentimientos

Comparte este artículo:

  • Facebook
  • incógn
  • LinkedIn
  • pinterest
¿Aún estancado? ¿Cómo podemos ayudar?

¿Cómo podemos ayudar?

Actualizado el 8 de agosto de 2026
CondicionesIntroducción al panel de configuración
Tabla de contenidos
  • Donde escribes código de plantilla
  • Imprimir valores con tokens
  • {{titul }}
  • Filtros
  • Marcado condicional con si se bloquea
    • Operadores que puedes utilizar en condiciones
  • Recorriendo filas de repetidores
    • {{ nombre.miembro }}
  • Tablas de lectura y campos Popover
  • Tokens en CSS
  • Tokens en JavaScript
  • Recetas prácticas
  • Lo que el motor no soporta
  • Preguntas frecuentes
    • ¿el Widget Builder utiliza la biblioteca Twig real?
    • ¿qué funciones de Twig admite Widget Builder?
    • ¿Cómo imprimo los valores de un campo repetidor?
    • ¿por qué mi valor muestra etiquetas HTML como texto?
    • ¿funcionan los tokens en las pestañas CSS y JS?
  • Envolviendo

Únase a más de 30 000 creadores web que confían en los complementos maestros

Obtenga todos los widgets y plantillas premium que desee, creados con un código limpio que mantenga su sitio rápido. Deshazte de la hinchazón, no de las funciones.

Pruebe la demostración en vivo
Únete a la comunidad
Complementos maestros para Elementor
Logotipo de complementos maestros

Más de 80 widgets premium y actualizaciones de por vida -Build Beyond Limits. Una creación exclusiva de Laboratorios Pixar

Facebook-F Gorjeo youtube wordpress
Características
  • Kits de plantillas
  • Biblioteca de plantillas
  • Creador de widgets
  • Creador de temas
  • Generador de megamenos
Apoyo
  • Foro de soporte
  • Contáctenos
  • Únase a la comunidad
  • blog
  • Reseñas de vídeos
Recursos
  • Mi cuenta
  • chanclas
  • Documentación
  • Vídeotutoriales
  • Herramientaz.dev
Navegar
  • Solicite afiliado
  • Términos de uso
  • Política de reembolso
  • Política de privacidad
  • Sobre nosotros