Solución 005: Smarty confunde JavaScript con etiquetas de plantilla
Guía técnica de RadioaficionadosClub.cl | RISUS NOVA 2.2.0 / PHPost | 11 de noviembre de 2026
Entorno de referencia: PHP 8.4, MariaDB 11.4, Smarty, CKEditor y tema personalizado RadioaficionadosClub Modern.
1. Problema y síntomas
Después de agregar código JavaScript a un archivo .tpl, el editor dejó de abrir. El síntoma se asoció a un error de compilación Smarty.
2. ¿Dónde revisar?
- themes/radioaficionadosclub-modern/templates/modules/m.agregar_form.tpl.
- Caché de compilación Smarty del hosting.
- Registro de errores: mensaje y línea de la plantilla.
3. Diagnóstico
El bloque incorporado contenía llaves que el motor de plantillas podía interpretar como su propia sintaxis. Fue una incompatibilidad introducida por una modificación del tema, no un defecto confirmado del núcleo original.
4. Solución paso a paso
- Respaldar la plantilla.
- Identificar las llaves del bloque JavaScript que provocan la compilación incorrecta.
- Proteger los bloques literales con {literal} y {/literal}, respetando las expresiones Smarty que sí se necesitan.
- Limpiar la caché de compilación y recargar.
- Probar la vista previa, edición y publicación después de abrir el editor.
5. Código de ayuda (ejemplo orientativo)
Estos fragmentos ilustran el concepto. Deben adaptarse a la estructura y funciones de cada versión; no sustituyen un parche probado.
{literal}
function ejemplo() { return true; }
{/literal}
Nota: fuera del bloque literal deben quedar las variables que Smarty necesite evaluar.
6. Cómo comprobar la reparación
- Verificar que el editor vuelva a abrir.
- Comprobar que la plantilla compile sin errores.
- Probar el botón Continuar y el guardado.
- Revisar que los valores Smarty existentes no desaparezcan.
7. Estado de la solución
Se reprodujo el conflicto y se generó una corrección de la plantilla que pasó una prueba de compilación en el entorno de trabajo. Falta prueba final completa en el hosting.
8. Precauciones
Los delimitadores y los métodos para incluir JavaScript pueden variar según la versión de Smarty. No rodear indiscriminadamente toda la plantilla con {literal}.
Antes de cualquier cambio, respalda los archivos y la base de datos. No reemplaces archivos completos de otra versión sin comparar los cambios.
¿Te ocurrió este problema? Indica tu versión de PHPost/RISUS NOVA, tema, versión de PHP y pasos para reproducirlo en los comentarios.
RadioaficionadosClub.cl · Comunidad de radioaficionados de Chile para el mundo. Publicación independiente; no es documentación oficial de PHPost.
Sección restringida
Lo sentimos, actualmente no tienes permisos para participar en los comentarios de este post.