我直接把smarty的libs目录拷进测试项目中,测试项目很简单,有两个文件demo.php和init.inc.php,然后我在init.inc.php做一些配置,比如界定符、模板目录之类,如果是以这种方式:
- PHP code
<?php include_once './libs/Smarty.class.php'; $tpl=new Smarty; $tpl->left_delimiter="<!--{"; $tpl->right_delimiter="}-->";?>
- PHP code
<?php require_once 'init.inc.php'; $title="this is a title"; $content="this is my content"; $tpl->assign("title",$title); $tpl->assign("content",$content); $tpl->display("default/test.tpl");?>
如果是另外做一个继承与smarty类的类mySmarty代码如下,在init.inc.php中
- PHP code
<?php include_once './libs/Smarty.class.php'; class mySmarty extends Smarty{ function mySmarty(){ $this->Smarty(); $this->template_dir="./templates/"; $this->compile_dir="./templates_c/"; $this->config_dir="./configs/"; $this->cache_dir="./cache/"; $this->caching=true; $this->left_delimiter="<!--{"; $this->right_delimiter="}-->"; $this->assign('app_name','mySmartyTest'); } } ?>
在demo.php中我做如下的调用和显示
- PHP code
<?php require_once 'init.inc.php'; $tpl=new mySmarty; $title="this is a title"; $content="this is my content"; $tpl->assign("title",$title); $tpl->assign("content",$content); $tpl->display("default/test.tpl");?>
------解决方案--------------------
你把 php 的错误显示功能打开,就知道哪里有问题了
继承的
如果是 Smarty 2 应该无大错
如果是 Smarty 3 那就是另一回事了
------解决方案--------------------
俺打工六年,就一个经验告诉你,尽早放弃 smarty 这种没人性的模版引擎。
------解决方案--------------------
因为那东西麻烦死了