Estoy jugando con la creación de plantillas y me he encontrado con una situación en la que necesito hacer eco en el navegador de una plantilla que contiene html & php. ¿Cómo evalúo el PHP y lo envío al navegador?PHP Eval que evalúa HTML y PHP
Así que aquí es un ejemplo (main.php):
<div id = "container">
<div id="head">
<?php if ($id > 10): ?>
<H3>Greater than 10!</H3>
<?php else: ?>
<H3>Less than 10!</H3>
<?php endif ?>
</div>
</div>
Y luego en el template.php:
<?php
$contents; // Contains main.php in string format
echo eval($contents); // Doesn't work... How do I do this line??
?>
EDIT: Mi plantilla también le permite inyectar datos desde el controlador Smarty-style. ¿Un buffer de salida me permitiría hacer esto y luego evaluar mi php? Lo ideal es que haga una primera pasada a través del código y evalúe todas las etiquetas primero, luego ejecuta el php. De esta forma puedo crear bucles y cosas utilizando los datos enviados desde mi controlador.
So maybe a more complete example:
<div id = "container">
<div id = "title">{$title}</div> <!-- This adds data sent from a controller -->
<div id="head">
<?php if ($id > 10): ?>
<H3>Greater than 10!</H3>
<?php else: ?>
<H3>Less than 10!</H3>
<?php endif ?>
</div>
</div>
¡Gracias!
clarifiqué lo que hace mi plantilla, sería esto todavía trabajar? – Matt
Sí, puede usar las variables que ya ha declarado en la plantilla. No puede, sin embargo, usar {$ title} como lo hizo, esto simplemente mostrará ese texto literalmente. Tienes que decirle a la plantilla que eso es PHP. He actualizado mi respuesta para demostrar. –
¡Esta respuesta debe ser aceptada! –