2012-03-07 35 views
5

Necesito mostrar algunos datos externos desde el archivo php al archivo .tpl. Para esto, quiero incluir el archivo php en el archivo .tpl. Intenté seguir el código para mostrar el contenido del archivo php a tpl.Cómo agregar código PHP al archivo .tpl

{php} include('custom_code.php'); {/php} 

pero en la salida página fue include('custom_code.php');

+0

Y sus delimitadores Smarty son '{}'? ¿Qué pasa si son '{{}}'? –

Respuesta

4

{php} ha quedado obsoleto. Eche un vistazo al Extending Smarty With Plugins.

poner el follwing en …/plugins/function.yourplugin.php:

<?php 
function smarty_function_yourplugin(array $params, Smarty_Template_Instance) { 
    include 'your_other_file.php'; 
} 

y utilizar en su plantilla:

{yourplugin} 
+0

gracias rodneyrehm por la solución, voy a probar su solución. – absolutek

1

Hay una guía de buenas prácticas en la página web de Smarty. # 1 es ¡No incrustar PHP!

http://www.smarty.net/best_practices

Prueba esto: {include_php file="/path/to/somefile.php"}

Pero aviso:

{include_php} is deprecated from Smarty, use registered plugins 
to properly insulate presentation from the application code. 
As of Smarty 3.1 the {include_php} tags are only available 
from SmartyBC. 

Así que mejor manera es escribir un plugin Smarty como ha explicado rodneyrehm

1

No debe agregar PHP código a la plantilla. Hará que la idea general de las plantillas se anule.

Tiene que agregar el código PHP al controlador, no a la plantilla.

Cuestiones relacionadas