Reutilización de plantillas

1. Función principal

El motor de plantillas Velocity implementa la reutilización de plantillas mediante #include / #parse.
Las partes comunes de una página web como la cabecera de navegación _head.htm y el pie de página con derechos de autor _footer.htm se extraen en subplantillas independientes que se importan, evitando código HTML duplicado.

2. Diferencias clave

1. #include("ruta‑del‑archivo")

Simplemente imprime el contenido original del archivo, sin interpretar las variables Velocity ($!{xxx}) dentro de la subplantilla

  • $!{testinclude} dentro de la subplantilla no se renderiza, se muestra literalmente la cadena $!{testinclude}
  • Permite cargar varios archivos a la vez: #include("a.htm","b.htm")
  • Ideal para: fragmentos HTML estáticos sin variables VTL

2. #parse("ruta‑del‑archivo")

Importa la subplantilla e interpreta toda la sintaxis Velocity. Las variables enviadas desde la plantilla padre funcionan correctamente en la subplantilla.

  • $!{testinclude} en la subplantilla lee variables del contexto y muestra los valores proporcionados por el código backend
  • Solo admite una ruta de archivo, no permite importar varios archivos simultáneamente
  • Ideal para: cabeceras, pies de página y otras plantillas comunes que usan variables (títulos de página, textos dinámicos de copyright…)

Fragmento de tus notas:
#include pega el código de la subplantilla sin interpretarlo, mientras que #parse ejecuta el análisis sintáctico

3. Ejemplo práctico

1. Código backend (.cs)

context.Put("testinclude", "Texto desde subplantilla:");Lenguaje del código: JavaScript (javascript)

2. Contenido de la subplantilla _footer.htm

Información de copyright $!{testinclude}
Caso ① usando #include("./themes/default/_footer.htm")

Resultado de salida en la página:

Información de copyright $!{testinclude}

La variable no se interpreta y el marcador se muestra tal cual.

Caso ② usando #parse("./themes/default/_footer.htm")

Resultado de salida en la página:

Información de copyright Texto desde subplantilla:

La variable se resuelve correctamente. Por eso en proyectos reales se prefiere #parse para cabeceras y pies de página compartidos.


4. Recomendaciones de uso

DirectivaEscenario adecuado
#includeRecursos estáticos, texto plano, fragmentos HTML sin necesidad de procesar variables
#parseCabeceras, pies de página, barras laterales; plantillas con $variables, #if y demás sintaxis VTL

💡 Norma de desarrollo:
Usa #parse para componentes comunes que puedan necesitar valores dinámicos (navegación, pie de página). Usa #include para fragmentos puramente estáticos de texto o estilos.

Reutilización de plantillas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *