プロが教えるわが家の防犯対策術!

Smarty で、


//SMARTY
define('SMARTY_DIR', $_SERVER["DOCUMENT_ROOT"] . '/../include/smarty/');
require_once(SMARTY_DIR . 'Smarty.class.php');

$o_smarty = new Smarty();



$o_smarty->template_dir = SMARTY_DIR . "templates/";
$o_smarty->compile_dir = SMARTY_DIR . "templates_c/";
$o_smarty->config_dir = SMARTY_DIR . "configs/";
//$o_smarty->cache_dir = SMARTY_DIR . "cache/";

//$o_smarty->assign("name","world");
$o_smarty->display("index.tpl");

のように書いているにも関わらず、

どうしても、

SMARTY_DIR . "templates/_index.tpl"

のファイルが表示されてしまいます。(アンダースオア付き)

それに、そもそも、「_index.tpl」

なんでファイルをつくったおぼえはありません。

また、smarty関連ファイルを「_index.tpl」でgrepしても、ひっかかりませんでした。

どうすれば、この状況を打破できるのでしょうか?

よろしくお願いいたします。

A 回答 (1件)

コンパイルされたファイル(テンプレートをPHPに変換したもの)が、_index.tplに飛ぶようになっているかも知れません。



一度compile_dirの中にあるファイルを削除してみてはどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。

おっしゃるとおりでした。

削除したら、なおりました。

ただ、また同様の現象が再発するのではと懸念しています。

同様の現象が再発しないようには、どう対策すればいいのでしょうか?

//なお、cacheとcomplieのちがいついていまいち理解できていません。
//これも。よろしければ教えていただけますか?

よろしくお願いいたします。

お礼日時:2008/07/18 23:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!