我在学习smarty时候遇到如下问题:
代码如下:
<?php
//引入smarty类
include "libs/Smarty.class.php";
//2实例化对象
$smarty=new Smarty();
//3.设置相关属性
$smarty->template_dir="templates";
$smarty->complie_dir="templates_c";
$smarty->assign('title','smarty模板');
$smarty->assign('content','smarty模板是一个功能非常强大模板');
$smarty->display('index.html');
?>
如图所示
template目录下代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<title>{$title}</title>
</head>
<body>
<h1>{$title}</h1>
<p>{$content}</p>
</body>
</html>
如图所示
我当时以为是版本问题,于是换版本,发现问题还是解决不了,于是我开始怀疑是不是路径的问题
在index.php中用常量来定义一个绝对路径解决这个问题
代码如下:
<?php
define('ROOT_PATH',dirname(__FILE__));//此处为解决方案
require ROOT_PATH.'/smarty/Smarty.class.php';//此处为解决方案
$smarty=new Smarty();
$smarty->template_dir='templates';
$smarty->compile_dir='templates_c';
//$smarty->left_delimiter="<{";
//$smarty->right_delimiter="}>";
$smarty->assign('title','华罗庚');
$smarty->assign('content','聪明在于勤奋,天才在于积累');
$smarty->display('index_demo1.html');
?>