最基本的php的smarty的配置问题,快疯了
问题描述:我定义的smarty变量无法在需要的html页面显示一、文件夹结构(Smarty文件夹中放着下载的Smarty3.1.12,templates中放着index....
问题描述:我定义的smarty变量无法在需要的html页面显示
一、文件夹结构(Smarty文件夹中放着下载的Smarty3.1.12,templates中放着index.html,而smarty_inc写的是配置smarty的代码,index.php是对smarty应用的的一个小实例)
二、smarty_inc代码段
<?php
include_once("./Smarty/Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->config_dir="./Smarty/Config_File.class.php"; // 目录变量
$smarty->caching=false; //是否使用缓存,项目在调试期间,不建议启用缓存
$smarty->template_dir = "./templates"; //设置模板目录
$smarty->compile_dir = "./templates_c"; //设置编译目录
$smarty->cache_dir = "./smarty_cache"; //缓存文件夹
//----------------------------------------------------
//左右边界符,默认为{},但实际应用当中容易与JavaScript相冲突
//----------------------------------------------------
$smarty->left_delimiter ="{%";
$smarty->right_delimiter ="%}";
?>
三、index.php代码段
<?php
include("smarty_inc.php");
$name="php100中文站";
$smarty->assign("title",$name);
$smarty->display("index.html");
?>
四、index.html代码段
<html>
<body>
<b>{$title}</b>
</body>
</html>
五、index.html运行结果:
六、问题重复
不是应该是显示"php100中文站"吗,为什么照原代码的显示了。上网说可能是文件夹权限的问题? 展开
一、文件夹结构(Smarty文件夹中放着下载的Smarty3.1.12,templates中放着index.html,而smarty_inc写的是配置smarty的代码,index.php是对smarty应用的的一个小实例)
二、smarty_inc代码段
<?php
include_once("./Smarty/Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->config_dir="./Smarty/Config_File.class.php"; // 目录变量
$smarty->caching=false; //是否使用缓存,项目在调试期间,不建议启用缓存
$smarty->template_dir = "./templates"; //设置模板目录
$smarty->compile_dir = "./templates_c"; //设置编译目录
$smarty->cache_dir = "./smarty_cache"; //缓存文件夹
//----------------------------------------------------
//左右边界符,默认为{},但实际应用当中容易与JavaScript相冲突
//----------------------------------------------------
$smarty->left_delimiter ="{%";
$smarty->right_delimiter ="%}";
?>
三、index.php代码段
<?php
include("smarty_inc.php");
$name="php100中文站";
$smarty->assign("title",$name);
$smarty->display("index.html");
?>
四、index.html代码段
<html>
<body>
<b>{$title}</b>
</body>
</html>
五、index.html运行结果:
六、问题重复
不是应该是显示"php100中文站"吗,为什么照原代码的显示了。上网说可能是文件夹权限的问题? 展开
1个回答
展开全部
这里是
$smarty->left_delimiter ="{%";
$smarty->right_delimiter ="%}";
边界符带了个%,所以后面也必须带%
<html>
<body>
<b>{%$title%}</b>
</body>
</html>
不过smarty边界符一般这样设置:
$smarty->left_delimiter ="<!--{";
$smarty->right_delimiter ="}-->";
追问
不好意思,我复制代码的时候忘了改了,就算是{%title%}也没能成功,您知道还可能有其他问题导致的这个原因。
追答
页面显示什么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询