Añadiendo una plantilla raw a medida

Hola, estoy intentando agregar mi propia plantilla Raw… no simplemente sobrescribir una existente.

Motivo: estoy tratando de eliminar esas molestas etiquetas de Ember que aparecen al usar componentes anidados.

… inicialmente asumí que sería tan fácil como agregar una al directorio templates o templates/list, así que procedí a hacerlo, pero solo logró fallar silenciosamente (no pudo encontrar mi plantilla).

¿Quizás puedo confirmar que esto no está soportado?

Luego encontré esto:

y esto:

Así que intenté esto:

import { addRawTemplate } from "discourse-common/lib/raw-templates";
import { compile } from "handlebars";

<---alguna inicialización-->

addRawTemplate('search-result-entry', compile(`<span class='result-lala'>hola</span>`));

Solo para obtener esto:

TypeError: Handlebars.compile is undefined

¡Gracias!

Disculpas si estoy haciendo algo mal aquí…

(esto será súper útil, por cierto, ¡así que gracias por implementarlo!)

1 me gusta

Deberías poder agregar una plantilla sin procesar directamente a la carpeta de plantillas. Lo hicimos en discourse-docs. Ahora utilizan la extensión de archivo .hbr, así que tal vez ahí es donde surgió el problema.

6 Me gusta

¿Te refieres al <div> contenedor que se agrega por defecto a los componentes de Ember? Puedes desactivarlo estableciendo tagName en una cadena vacía:

Trabajar con componentes de Ember es mucho más fácil que con plantillas sin procesar, así que definitivamente recomendaría mantenerse con Ember si es posible.

3 Me gusta

¡Argh, tenía mis plantillas de hbr en templates/components! (lo cual es obviamente incorrecto cuando lo escribes así)

¡Gracias por ese ejemplo, Justin! Lo solucioné moviéndolo a la carpeta de plantillas, ¡ay!

¡Ya funciona!

@david, ¡qué consejo tan útil, gracias! ¡También lo aprovecharé! Eso me permitirá conservar las acciones, perfecto.

Parece que lo había complicado en exceso, ¡saludos!

4 Me gusta