Smarty 2.6.9 キャッシングに問題があります。2 つのテンプレートが呼び出さconfirmation.tpl
れ、どちらもコードベースの異なるディレクトリに保存されています。
ただし、コンパイルされると、/cache/gb/
ディレクトリにコンパイルされます。これら 2 つのテンプレートについてのみ、コンパイルを防止したいので、force_compile
メンバー変数を使用しようとしましたが、これはまったく効果がなく、テンプレートは一貫してキャッシュされます。
これが示す問題は、両方のテンプレートが同じページでconfirmation.tpl
(別々のコードによって) 呼び出されているため、1 つのテンプレートが両方に使用されており、問題が発生していることです。
このテンプレートがこのようにコンパイルおよびキャッシュされるのを防ぐ方法はありますか?
「confirmation.tpl」テンプレートのみに「no_compile」を設定するフラグを渡しています。
$this->obj = new Smarty;
$this->obj->caching = false;
$this->obj->cache_lifetime = 10;
$this->obj->compile_check = true;
$this->obj->template_dir = $this->tpl_path;
if ($this->no_compile) {
$this->obj->force_compile = false;
$this->obj->compile_check = false;
}