3.模板目录之外的php引用smarty文件时,将Smarty的初始文件换成绝对路径
示例代码:
init.smarty.php
<?php define(ROOT, ""); //解决问题:Warning: strftime() [function.strftime]: date_default_timezone_set("Asia/Shanghai"); include ROOT."./libs/Smarty.class.php"; $tpl = new Smarty(); //smarty初始化 $tpl->template_dir=ROOT."./templates/"; $tpl->compile_dir=ROOT."./template_c/"; $tpl->left_delimiter="<!--{"; $tpl->right_delimiter="}-->"; ?>
<?php //如果文件加载失败require会停止继续解析php;而include则会继续向下执行 require 'init.smarty.php'; //程序简单方式 $title="这是一个文字标题,从数据库中获取"; $content = "这是内容"; $tpl->assign("title",$title); $tpl->assign("content",$content); //模板文件名可以随便定义:比如:mysmarty.tpl只有内容是html就可以了 $tpl->display("mysmarty.html"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><!--{$title}--></title> </head> <body> <!--{$content}--> </body> </html>