Plantillas (Handlebars)
Resumen
Sección titulada «Resumen»El componente Templates proporciona plantillas basadas en Handlebars para generar contenido dinámico.
Uso básico
Sección titulada «Uso básico»- id: format_message type: template config: template: "Hello, {{name}}! Your order #{{order_id}} is ready." next: send_messageSintaxis de plantillas
Sección titulada «Sintaxis de plantillas»Variables
Sección titulada «Variables»{{variable}}{{nested.property}}{{array.[0]}}Condicionales
Sección titulada «Condicionales»{{#if condition}} Content when true{{else}} Content when false{{/if}}
{{#unless condition}} Content when false{{/unless}}{{#each items}} Item: {{this.name}} - ${{this.price}}{{/each}}
{{#each items as |item index|}} {{index}}. {{item.name}}{{/each}}Helpers integrados
Sección titulada «Helpers integrados»{{#with user}} Name: {{name}} Email: {{email}}{{/with}}
{{lookup items index}}
{{log "Debug message"}}Helpers personalizados
Sección titulada «Helpers personalizados»Helpers de cadenas
Sección titulada «Helpers de cadenas»{{uppercase text}} <!-- "HELLO" -->{{lowercase text}} <!-- "hello" -->{{capitalize text}} <!-- "Hello" -->{{truncate text 50}} <!-- "Hello wo..." -->Helpers numéricos
Sección titulada «Helpers numéricos»{{formatNumber 1234.56}} <!-- "1,234.56" -->{{currency amount}} <!-- "$99.99" -->{{percent value}} <!-- "85%" -->Helpers de fecha
Sección titulada «Helpers de fecha»{{formatDate date "YYYY-MM-DD"}}{{relativeTime timestamp}} <!-- "2 hours ago" -->{{now}} <!-- Current timestamp -->Ejemplos de plantillas
Sección titulada «Ejemplos de plantillas»Confirmación de pedido
Sección titulada «Confirmación de pedido»- id: order_confirmation type: template config: template: | # Order Confirmation
**Order #{{order.id}}**
Hi {{customer.name}},
Thank you for your order!
## Items: {{#each order.items}} - {{name}} x {{quantity}} - ${{price}} {{/each}}
**Subtotal:** ${{order.subtotal}} **Tax:** ${{order.tax}} **Total:** ${{order.total}}
Expected delivery: {{formatDate order.delivery_date "MMMM D, YYYY"}}Actualización de estado
Sección titulada «Actualización de estado»- id: status_template type: template config: template: | {{#if is_complete}} Your request has been completed! {{else if is_pending}} Your request is being processed... {{else}} We've received your request. {{/if}}
{{#if notes}} Notes: {{notes}} {{/if}}Plantillas externas
Sección titulada «Plantillas externas»Carga plantillas desde archivos:
- id: render_email type: template config: template_file: "templates/email/welcome.hbs" data: user: "{{user}}" company: "Acme Corp"Parciales
Sección titulada «Parciales»Registrar un parcial
Sección titulada «Registrar un parcial»components: templates: partials: header: "templates/partials/header.hbs" footer: "templates/partials/footer.hbs"Usar un parcial
Sección titulada «Usar un parcial»{{> header}}
Main content here
{{> footer}}