2012-03-07 25 views
5

Ho bisogno di visualizzare alcuni dati esterni dal file php al file .tpl. Per questo voglio includere il file php nel file .tpl. Ho provato a seguire il codice per visualizzare il contenuto del file php in TPL.Come aggiungere codice PHP al file .tpl

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

ma sull'uscita pagina è stata include('custom_code.php');

+0

E i tuoi delimitatori Smarty sono '' {}? Cosa succede se sono '{{}}'? –

risposta

4

{php} è stato dichiarato obsoleto. Dai un'occhiata a Extending Smarty With Plugins.

mettere il follwing in …/plugins/function.yourplugin.php:

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

e utilizzare nel modello:

{yourplugin} 
+0

grazie rodneyrehm per la soluzione, proverò la soluzione. – absolutek

1

C'è una guida delle migliori pratiche sulla homepage Smarty. # 1 è Non incorporare PHP!

http://www.smarty.net/best_practices

Prova questo: {include_php file="/path/to/somefile.php"}

Ma notate:

{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. 

Quindi modo migliore è quello di scrivere un plugin Smarty come spiegato da rodneyrehm

1

Non si dovrebbe aggiungere PHP codice al modello. Renderà viziata l'idea dei modelli.

È necessario aggiungere codice PHP al controller, non al modello.

Problemi correlati