2013-11-27 4 views
0

Я не могу писать PHP-код в .tpl файл либо в отношенияхИспользование PHP-код в .TPL файлов в Kohana/Smarty Framework

Я попытался <?php echo 'test'; ?>

Я также попытался {PHP} echo 'test'; {/PHP}

Но оба возвращается ошибка

on line 14 "{php}echo &quot;hello!&quot;{/php}" unknown tag "php" 
+0

Вы используете Kohana и Smarty? Если да, то почему (не только один из них)? – kero

+0

@kingkero - Я действительно не уверен, но я думаю, что Кохана происходит от Smarty. Как показывает проект, он развивается в Кохане, но ошибки говорят «Smarty Framework». Итак, я думаю, что Кохана происходит от Smarty, и у обоих могут быть отличные отношения. – Kerry

+0

Я не очень хорошо знаком с Smarty, но ваша первая попытка не будет проблемой для работы с обычными видами (в Кохане) – kero

ответ

2

Я не работал с Кохана, но с Smarty 3, использование php tag is deprecated. Вам нужно будет использовать режим backwards compatibility с 3.0. Настоятельно рекомендуется, чтобы вся логика кода была помещена в файлы вашего контроллера или php-скрипта, а не ваши шаблоны Smarty.

Если вы хотите использовать PHP-код в шаблонах, предлагается создать custom functions или modifiers.

Итак, в основном, короткий ответ - найти, где ваш код (или плагин Kohana) создает экземпляр Smarty и меняет его на использование SmartyBC, но имейте в виду, что это очень обескураживает.

Если вы используете модуль Kohana Smarty3 для Kohana, these code lines должен помочь вам в правильном направлении.

+0

http://www.smarty.net/docs/en/bc.tpl Я только что прочитал это раньше, но интересно, в каком файле я должен это изменить? – Kerry

+0

Отредактировал мой ответ ... в основном, переход от Smarty к SmartyBC на 255 и 263. Но я понятия не имею, является ли это модулем, который вы используете или нет. – Justin

+0

Я спросил, в каком файле я должен сделать это редактирование http://www.smarty.net/docs/en/bc.tpl – Kerry

Смежные вопросы