display('index.tp"/> display('index.tp">

>백엔드 개발 >PHP 튜토리얼 >smarty用php标签如何输出变量

smarty用php标签如何输出变量

WBOY
WBOY원래의
2016-06-13 10:19:21973검색

smarty用php标签怎么输出变量
index.php

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$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;


echo $a;



------解决方案--------------------
可以,在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方法//模板中这样获取echo $GLOBALS['var'];<br><font color="#e78608">------解决方案--------------------</font><br>为什么要用php标签,{变量}就可以,循环可以用foreach section等,够你用的。<br><font color="#e78608">------解决方案--------------------</font><br>直接<br>{$a} 就可以了,如果你想对数据再进行处理可以看看手册<br><font color="#e78608">------解决方案--------------------</font><br>可以,但是你必须定义定界符,<br>$smarty->left_delimiter="{php}";//指定左定界符<br>$smarty->right_delimiter="/{php}>";//指定左定界符<br>中间的echo就不要了,直接是{php}$a{/php}<br><br><font color="#e78608">------解决方案--------------------</font><br>[php]<br>  echo "这是php代码";<br>[/php]<br><br>有得版本是可以直接在模板里写php代码的<div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.