smarty用php标签怎么输出变量
index.php
PHP code
$smarty = new Smarty;
$smarty->allow_php_tag=true;
$smarty->assign("a", "aaaaaaaaaaaaaa");
$smarty->display('index.tpl');
index.tpl
{php}
echo $a;
{/php}
用php标签可以输出变量$a吗
------解决方案--------------------假设指定smarty定界符为{},然后在里面{$a}
------解决方案--------------------假设你的定界符为:<!--{和 }-->
那么在SMARTY中直接用 下面的方式输出PHP变量。但在程序中一定要开启 allow_php_tag=true;
<!--{php}-->
echo $a;
<!--{/php}-->
------解决方案--------------------可以,在php标签中语法与在php文件中一样
------解决方案--------------------{$a} 就行了
------解决方案--------------------假设你的定界符为:{ }直接{$a}就可以
------解决方案--------------------定界符为{ },直接{$a}就可以
------解决方案--------------------就是,加一个echo纯属多此一举。
------解决方案--------------------{$a}
------解决方案--------------------{php}
echo $aaaaaaaaaaaaaa;
{/php}
------解决方案--------------------assign一个变量就好啦啊 在页面上里 把assign里的变量 用定界符括起来 就行啦
------解决方案--------------------Smarty2中php标签是默认打开,即模板默认识别,Smarty3则需要设置,也可以看出在模板中使用php标签并不是推荐做法.LZ所说的以下方法可以实现.
PHP code
//php文件中这样写
global $var;//申明全局变量
...
$var = 'Hi Smarty';//赋值,无需再使用smarty的assign方法
//模板中这样获取
<{php}>echo $GLOBALS['var'];<{/php}>
------解决方案--------------------
为什么要用php标签,{变量}就可以,循环可以用foreach section等,够你用的。
------解决方案--------------------
直接
{$a} 就可以了,如果你想对数据再进行处理可以看看手册
------解决方案--------------------
可以,但是你必须定义定界符,
$smarty->left_delimiter="{php}";//指定左定界符
$smarty->right_delimiter="/{php}>";//指定左定界符
中间的echo就不要了,直接是{php}$a{/php}
------解决方案--------------------
[php]
echo "这是php代码";
[/php]
有得版本是可以直接在模板里写php代码的