2012-03-07 6 views
5

Potrzebuję wyświetlić niektóre dane zewnętrzne z pliku php do pliku .tpl. Do tego chcę dołączyć plik php do pliku .tpl. Próbowałem folllowing kodu, aby wyświetlić zawartość pliku php do tpl.Jak dodać kod PHP do pliku .tpl

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

ale na wyjściu strona została include('custom_code.php');

+0

A twoje ograniczniki Smarty są '' {}? Co jeśli są '{{}}'? –

Odpowiedz

4

{php} został przestarzały. Spójrz na Extending Smarty With Plugins.

umieścić follwing w …/plugins/function.yourplugin.php:

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

i użyć w szablonie:

{yourplugin} 
+0

dziękuję rodneyrehm za rozwiązanie, spróbuję Twojego rozwiązania. – absolutek

1

Jest Podręcznik dobrych praktyk na smarty głównej. # 1 to Nie osadzaj PHP!

http://www.smarty.net/best_practices

Spróbuj tego: {include_php file="/path/to/somefile.php"}

Ale uwaga:

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

Więc najlepszym sposobem jest napisanie wtyczki smarty jak wyjaśnił rodneyrehm

1

Nie należy dodawać PHP kod do szablonu. Pomoże to zepsuć szablony.

Musisz dodać kod PHP do kontrolera, a nie do szablonu.