smarty2からsmarty3に移行する際の注意点

smarty2からsmarty3に移行する際の注意点

今更Smarty…って思わないことはないのですが使われているので仕方が無い
せめて2系から3系にアップグレードできないかなと思って軽い気持ちで試したら3日ほどハマりましたよ

Download | Smarty

Smartyクラスを使わずに互換用のSmartyBCを使う

もっと簡単に書くにはextendsして__constructを使う

{php}タグを使いたいとき

allow_php_tagを有効にする

{include_php}タグを使いたいとき

{include_php file=$php_path}とすると変数が展開されずに動かないので
include_php_exというプラグインを新たに作るほうが手っ取り早いです

function.include_php_ex.phpの中身は超適当に書くとこんな感じ

SmartyCompilerException

Smarty3はテンプレートの書き方が厳密になりこのエラーが出まくりますのでテンプレートを頑張って直しましょう…
エラー内容 PHP Fatal error: Uncaught exception ‘SmartyCompilerException’ with message ‘Syntax Error in template

■具体的にダメな記述
不要な`(バッククオート)

“(ダブルクオートが足りない)

コメントを残す