Использование PHP-кода в Smarty TPL FILE - PullRequest
12 голосов
/ 16 сентября 2011

Я новичок в smarty и хочу использовать код php в файле шаблона, т.е. в файле tpl.Я видел документацию и искал в Google, но не смог найти, как использовать php-код, который, по их словам, нам нужно настроить smarty, чтобы разрешить выполнение php, но не смог найти, как это сделать.

Пожалуйста, помогите мне в этом отношении,Спасибо

Ответы [ 4 ]

23 голосов
/ 16 сентября 2011

Легко, как варить яйцо!

{php}echo "hello!"{/php}

Вторая ссылка вниз , для справки.

Редактировать с Smarty 3.1:

Начиная с Smarty 3.1 теги {php} доступны только для SmartyBC .

Источник: http://www.smarty.net/docs/en/language.function.php.tpl

4 голосов
/ 15 мая 2015

Найдите файл smarty.class.php в каталоге хоста

Перейдите на smarty.class.php

Редактировать var $php_handling = SMARTY_PHP_ALLOW;

Сохранить файл на сервере.

Теперь вы можете добавить php в файл tpl как <?php ....code.... ?>

2 голосов
/ 16 сентября 2011

Возможно, вы видели документацию, но пропустили {php}:

Теги {php} позволяют встроить PHP-код непосредственно в шаблон.Они не будут экранированы независимо от значения параметра $ php_handling. Это только для опытных пользователей, обычно не требуется и не рекомендуется.

Выделение мое, источник: http://www.smarty.net/docsv2/en/language.function.php.tpl

Обратите внимание, что PHP вставляется в код шаблонаэто самый простой способ выстрелить себе в ногу - главное назначение Smarty - разделить код PHP и шаблоны HTML.Другими словами, сам факт использования этого тега является серьезным красным флагом;в большинстве случаев можно исправить основную проблему и вообще избежать PHP внутри шаблона.

0 голосов
/ 16 сентября 2011

Вы пытались включить отчеты об ошибках?

error_reporting(E_ALL);
ini_set("display_errors", true);
...