我只需要一些关于在Codeigniter中安装Smarty的帮助。
我做的是:
结果是: 无法加载请求的类:smarty
在我的autoload.php中,我添加了smarty:
$autoload['packages'] = array(APPPATH.'third_party','smarty');
/*
| -------------------------------------------------------------------
| Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
|
| Prototype:
|
| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/
$autoload['libraries'] = array('smarty');
我只是不知道我的错误在哪里。我希望你能帮助我。我是聪明的初学者。
答案 0 :(得分:4)
您需要创建一个库类来扩展smarty并自动加载。在/application/library/
文件夹中,创建一个名为smartylib.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
// path to SMARTY library
include APPPATH.'thirdparty/Smarty/libs/Smarty.class.php';
class Smartylib extends Smarty {
function __construct() {
parent::__construct();
}
}
然后在autoload.php中自动加载
$autoload['libraries'] = array('smartylib');
您可能需要在构造中为Smarty做一些配置。请查看extending smarty
上的Smarty文档然后您就可以在控制器中使用它了:
$this->smartylib->assign('name','Ned');
$this->smartylib->display('index.tpl');
答案 1 :(得分:0)
此外,如果您喜欢或需要使用
$this->smarty->assign('name', 'Ned');
请在Controller __Consructor()
函数中将'smartylib'对象克隆为'smarty'
$this->smarty = clone $this->smartylib;