Pregunta

Me parece muy extraño, debe ser algo que estoy haciendo mal, pero aún así ... Estoy trabajando en una página usando archivos PHP y TPL. En mi archivo TPL, hay un lugar en el pie de página para algunas líneas adicionales si es necesario.

Por ejemplo, verificación de formularios con Javascript.

así que en PHP hice esto:

$foot = "<script type=\"text/javascript\">if(document.getElementById){loadEvents();}</script>";

la variable $ foot se analiza y el resultado en HTML es este:

<script type="text/javascript">if(document.getElementById)</script>

Entonces {loadEvents ();} se perdió.

¿Alguien ve lo que me falta aquí? En serio, no lo encuentro. ¿Olvidé escapar de un personaje o algo?

¿Fue útil?

Solución

Obviamente, el motor de plantillas que está utilizando se come la parte entre llaves.

Pruebe algo como:

$foot = "{literal}<script type=\"text/javascript\">if(document.getElementById){loadEvents();}</script>{/literal}";

Otros consejos

Parece que está utilizando un motor de plantillas como Smarty, que intenta analizar todo lo que encuentra entre llaves.

Esta página de la documentación de smarty explica cómo hacer smarty ignore las secciones que de lo contrario analizaría.

Creo con {} que PHP está esperando una variable dentro de ellos. No he probado esto, pero intente usar comillas simples en lugar de comillas dobles.

Si usa Smarty, puede usar el {literal}.

literal

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top