include_php Nombre del Atributo Tipo Requerido Default Descripción file string Si n/a El nombre del archivo php a incluir once boolean No true Cuando incluir o no el archivo php mas de una vez, ser incluido varias veces assign string No n/a El nombre de la variable que recibirá la salida del archivo php Nota técnica include_php es muy desaprovechado desde Smarty, usted puede lograr la misma funcionalidad por medio de las funciones de costumbre del template. La unica razón para usar include_php es si usted en realidad tiene la necesidad de poner en cuarentna la funcion de php fuera del directorio de plugin y su codigo de la aplicación. Vea un ejemplo de templates componentizados para detalles. Las etiquetas include_php son usadas para incluir un script PHP dentro de su template. Si la seguridad estuviera activada, entonces el script PHP debe estar localizado en la ruta $trusted_dir. La etiqueta include_php debe tener el atributo "file", el cual contiene la ruta del archivo PHP a ser incluido, o el relativo al $trusted_dir, o una ruta absoluta. include_php es un buen medio para manipular templates con componentes, y mantiene el código PHP separado de los archivos del template. Vamos adecir que usted tenga un template que muestre la navegación de su sitio, el cual es tirado automáticamente a partir de una base de datos. Usted puede mantener su lógica de PHP que obtiene los datos en un directorio separado, e incluirla arriba del template. Ahora usted puede incluir este template en cualquier lugar sin preocuparse si la información de la base de datos fue obtenida por la aplicación antes de usarla. Por default, los archivos son incluidos solo una vez a un cuando son incluidos varias veces en el template. Usted puede especificar que este sea incluido todas la veces con un atributo once. Definindo como false incluira el script php cada vez que este sea incluido en el template. Usted puede opcionalmente pasar el atributo assign, el cual especificara una variable del template la cual contendra toda la salida del include_php en vez de mostrarla. El objeto smarty esta disponible como $this dentro del script php que usted incluyo. funcion include_php load_nav.php ------------- <?php // carga variables de una base de datos mysql y defíne esta para el template require_once("MySQL.class.php"); $sql = new MySQL; $sql->query("select * from site_nav_sections order by name",SQL_ALL); $this->assign('sections',$sql->record); ?> index.tpl --------- {* ruta absoluta o relativa del $trusted_dir *} {include_php file="/path/to/load_nav.php"} {foreach item="curr_section" from=$sections} <a href="{$curr_section.url}">{$curr_section.name}</a><br> {/foreach}