我正在使用 Kohana 处理网站的管理部分。我在views 文件夹中创建了一个“admin”子文件夹来存储管理视图。我还在管理部分使用模板控制器的修改实例,称为管理模板控制器,见此处:
abstract class Admin_Template_Controller extends Template_Controller
{
public $template = 'admin/template';
public function __construct()
{
parent::__construct();
$this->template = View::set_filename($this->template);
$this->template->css = 'adminstyles';
$this->template->js = 'html5';
}
}
但是,我收到一个错误,即未在“admin/template”文件中定义 css 变量。此时,模板文件与我成功用于创建大部分前端的视图文件夹中的模板文件相同,因此它不存在。另外,需要注意的一个重要事实是,当我使用视图文件夹(用于前端)中的模板文件时,它会正确加载页面。
这让我相信它与位于子文件夹中的模板文件有关。这让我很困惑,因为我成功地从同一个“views/admin”文件夹中加载了另一个视图文件。该文件不包含任何变量,所以也许这就是它加载的原因。
我试过了
$this->template = View::factory($this->template);
也加载新的模板文件,但它返回一个错误,必须在渲染之前调用视图。我认为这是由于自动渲染开启,但我想要它。
任何想法都会有很大帮助。显然,我可以将文件移出管理文件夹并重命名,但这并不能真正帮助我了解发生了什么。