嘿,我正在尝试做这样的事情:
<?php
class MySmarty extends Smarty {
public function __construct() {
parent::__construct();
$smartyRoot = '/home/smarty/';
parent::setTemplateDir($smartyRoot. "/templates/");
parent::setCompileDir($smartyRoot."/templates_c/");
parent::setCacheDir($smartyRoot."/cache/");
parent::setConfigDir($smartyRoot."/configs/");
}
}
$smarty = new MySmarty();
$smarty->display("index.tpl");
?>
但它失败了SmartyException("Unable to load template file")
。从smarty_internal_template.php
第 163 行开始,它看起来像是$this
在进行任何显示之前检查是否存在。
我的系统似乎设置正确,因为建议的方法(调用$smarty->set*Dir($smartyRoot.'foo');
工作。
有任何想法吗?