2016-06-20 5 views
0

Smarty2で実現された非常に複雑なプロジェクト用のプラグインを作成しています(かなりoldscool、はい、私の決定ではありません)。いくつかのテンプレートを変更する必要がありますが、数百(例えばページのnavbarを生成するもの)の2つか3つしか変更しないでください。問題があります: - 私はいくつかのフックや変数を持っていません。 - 私はそれらを変更できません(私は全体を更新可能にしたいので) しかし、私は$ smartyオブジェクトにアクセスでき、割り当てなどのメソッドsmarty - ロードする前のテンプレートパスをフィルタにかける

テンプレートURLが表示される前にフィルタリングすることはどういうことですか?私は私の心の中に何かを持っています

$smarty->replaceUrl('templates/navbar.tpl', 'myplugin/mynavbar.tpl'); 

または、私はこれをどのように解決することができるでしょうか?私はregister_outputfilterを使用してコードを挿入することができることを知っていますが、それは明らかにひどい解決策です。

答えて

0

私は交換したいすべてのテンプレートの私のバージョンを保持する私の$ myTemplatePathで自分

array_unshift($smarty->template_dir, $myTemplatePath); 

することにより、非常に説得力のある解決策を見つけました。ケースが解決しました。

関連する問題