要是用smarty,不得不舍弃Zend_Layout。下面是Smarty配置过程。
从http://www.smarty.net/download下载smarty,将它放在工程library目录下。
在public/index.php里添加如下代码:
//对smarty模版进行初始化
include 'smarty/SmartyBC.class.php';
include 'Zend/Registry.php';
include 'Zend/Controller/Front.php';
include 'Zend/Controller/Plugin/ErrorHandler.php';
$smarty = new SmartyBC();
$smarty->left_delimiter = "{";
$smarty->right_delimiter = "}";
$smarty->compile_dir = APPLICATION_PATH . '/views/templates_c';
$smarty->cache_dir = APPLICATION_PATH . '/views/templates_c/cache_c';
$smarty->template_dir = APPLICATION_PATH . '/views/templates';
function smarty_block_dynamic($param, $content, &$views) {
return $content;
}
$smarty->register_block('dynamic', 'smarty_block_dynamic');
Zend_Registry::set('smarty', $smarty);
Zend_Controller_Front::getInstance()->setParam('noViewRenderer', true);
在views目录下创建templates, template_c和template_c/cache_c
在IndexController.php加入代码:
public function init() {
$this->smarty = Zend_Registry::get('smarty');
}
public function indexAction() {
$this->smarty->assign('myName', 'My name is Eric');
$this->smarty->assign('myCountry', 'China');
$this->smarty->display('test.tpl');
}
在views下创建模板文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test smarty</title>
</head>
<body>
<h1>See here!</h1>
{$myName} - {$myCountry}
</body>
</html>