技術メモ

技術メモ

smarty(FuelPHP)でphpタグを利用する

やりたいこと

キャッシュを有効にしつつ、cssやjsファイルの変更を確実に反映させる – doop


クラスView_Smarty(fuel/packages/parser/classes/view/smarty.php)のメソッドparserの下記1行

<?phpclass View_Smarty extends \View
{public static function parser()
   {static::$_parser = new Smarty(); // !!!

を下記2行に置き換える

<?phpstatic::$_parser = new \SmartyBC();
   static::$_parser->php_handling = \Smarty::PHP_ALLOW;


これで、smartyファイルの中でphpタグが使える

<script type="text/javascript" src="/assets/js/app/sample.js?date={php} echo date('YmdHis', filemtime('./assets/js/app/sample.js')); {/php}"></script>


参考
Smarty 3.1.13 のテンプレート内で生php実行 - Qiita