关于PHP的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 12:46:32
网站是整套的PHP程序,用的是SMARTY(我不懂PHP,只懂HTML,所以只是听说用的是SMARTY,其实根本就不知道SMARTY是什么)。

程序的PHP文件是固定的,我没有改动过,也不会改。另外还有一个"templates"文件夹,里面全部是控制前台的tpl模板文件。现在我要做的是修改tpl模板文件来美化页面。但tpl文件中嵌入了一些PHP语句和变量。有些tpl文件中嵌入的变量(比如说{A})在浏览器中可以正常显示为一个正常的值,但我想在某些特定的tpl文件中加入这个变量{A},以便在浏览器中能根据具体的用户显示特定的值。但我在有些tpl文件中加入这个变量{A}后浏览器中显示为空白(如tpl文件中代码写的是"这是一个{A}",而浏览器中却显示"这是一个",后面的具体{A}的值没显示出来。而把这段语句放在有些tpl文件中就可以正常显示为“这是一个苹果”或者“这是一个橘子”),把变量{A}加上{literal}{/literaL}只显示{A}。

怎么才能正常显示变量的值?是不是跟SMARTY有关?(SMARTY中设定了某些tpl文件可以显示变量?),还是跟PHP源程序有关?

谢谢各位了!这个问题都快让我崩溃了...,搞了好几天...

现在积分只有26分了。我会继续回答问题去获得积分的,大家回答的好的话我会追加积分的。

这个{A} 一般在对应的php文件里用$smarty->assign定义
例如
在 index.php 里
有如下语句
$smarty->assign("A", "苹果");
然后 你在index.tpl里 用{A} 显示的就会苹果

别的页面 对应的php里 没有用$smarty->assign定义A的值

那你用{A}就 什么也代表不了 就是空的
例如2.php 里没有定义 A 你却在2.tpl里用{A} 这时A是没有值的

我不知道说清楚没有
总结:A只在当前页面有效 在别的页面使用它得在相应的php文件里重新定义($smarty->assign)