thinkphp中assign(name,$arr)的name可以是变量吗?
$this->assign("arr",$arr)中第一个参数是在模板中使用的变量名,名字可以任意取,第二个参数是传递给模板的变量。举个例子:
1、在Action中赋值了一个myname模板变量:
$name = 'ThinkPHP';$this->assign('myname',$name);表示把Action中$name变量(其值为'ThinkPHP')赋值给模板变量myname,当然也可以是其他名字。
2、在模板文件中使用myname变量:
在模板文件(即对应的html文件)使用 {$myname} 即表示 字符串:'ThinkPHP'
那样写应该也可以,不过为空时可能会报错,所以需要加上双引号,如果还报错应该是其他部分有问题。
var a = "{$a}";
// 下面的写法是等效的:
$this->name = $value;
assign方法必须在display和show方法之前调用,并且系统只会输出设定的变量,其它变量不会输出(系统变量可以通过特殊的标签输出,可以无需赋值模板变量),一定程度上保证了变量的安全性。
赋值后,就可以在模板文件中输出变量了,如果使用的是内置模板的话,就可以这样输出:
{$name}
如果要同时输出多个模板变量,可以使用下面的方式:
$array['name'] = ‘thinkphp’;
$array['email'] = ‘liu21st@gmail.com’;
$array['phone'] = ’12335678′;
$this->assign($array);
这样,就可以在模板文件中同时输出name、email和phone三个变量。
模板变量的输出根据不同的模板引擎有不同的方法,如果使用的是PHP本身作为模板引擎的话 ,就可以直接在模板文件里面输出了:
如果采用内置的模板引擎,可以使用:
{$name} [ {$email} {$phone} ]
输出同样的内容。
//分配变量
$res=M('user')->select();
$this->assign(res,$res);
$this->display();
/*也可以$this->assign(res,M('user')->select())->display(); 貌似是3.1.3的新功能,可以直接assign
tpl中
前台遍历 */
<foreach name='res' item ='v'>
id{$v.id}
username{$v.username}
</foreach>
/*前台遍历的res 不加$,只是分配过来的标识符。
实际上foreach会变成 */
<?php
foreach ($res as $key->$v)
================================以下是3.1.2手册====================
foreach标签也是用于循环输出
foreach标签(循环输出数据)
闭合
非闭合标签
属性
name(必须):要输出的数据模板变量item(必须):循环单元变量key(可选):循环的key变量,默认值为key
示例:
<foreach name="list" item="vo">
{$vo.id}
{$vo.name}
</foreach>
Foreach标签相对比volist标签简洁,没有volist标签那么多的功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。
不知道怎么搞代码亮。。。
Thinkpad T400 双显卡切换?
hinkpad T400双显卡切换方法:A卡切换独立显卡方法:1、在桌面空白处点击鼠标右击,在弹出的选项中,点击“配置可交换显示卡”2、然后在弹出的AMD可切换显示卡设置中,将需要设置为独立显卡运行的应用程序添加进来,然后选择“高性能”最后点击底部的“保存”即可。N卡切换独立显卡方法:1、在桌面空白处点击...
急求!联想GHINKPAD E430c 摄像头打不开,每次用摄像头时都提示未检测到...
1、首先尝试使用快捷键看能否打开摄像头。操作方法如下:a、先查看设备管理器中有无摄像头设备。(Windows xp、Windows 7系统可右击桌面小电脑图标选择“管理”,打开“设备管理器”;Windows 8以上系统可同时按下Windows键和X键,打开“设备管理器”)b、然后确认电脑已正确安装了电源管理软件和快捷键驱...
the color of the wind风中奇缘歌词的翻译
你 会 看 到 风 中 七 色 的 美 丽 你 的 心 会 画 出 风 中 的 色 彩 等 待 你 牵 我 的 手 风 在 蓝 天 上 飞 向 那 个 梦 你 听 风 在 说 话 说 着 不 朽 的 情 爱 那 全 世 界 最 温 柔 的 表 白 如 果 真 爱 在 你 心 中 永 不 更 改 你 会 ...
汉灵至宝: 在Action中使用assign方法可以给模板变量赋值,在另外一个模板中使用的方法: 1、在Action中赋值了一个name模板变量: $name = 'ThinkPHP'; $this->assign('name',$name); 2、使用内置的模板引擎输出变量,只需要在模版文件使用: {$name} 模板编译后的结果就是
松岭区17746642704: thinkphp 中 this>assign( jumpURL , - URL - /index ); 是什么意思啊 - ?
汉灵至宝: 要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值.$this->assign('name',$value);// 下面的写法是等效的$this->name = $value;assign方法必须在display和show方法之前调用,并且系统只会输出设定的变量,其它变量不会输出(系统变量例外),一定程度上保证了变量的安全性
松岭区17746642704: Thinkphp 中如何在模板中的JS代码里使用 控制器中assign的变量? - ?
汉灵至宝: 那样写应该也可以,不过为空时可能会报错,所以需要加上双引号,如果还报错应该是其他部分有问题.var a = "{$a}";
松岭区17746642704: thinkPHP中“$this - >assign("row",$row);”是什么意思? - ?
汉灵至宝: $this->assign("arr",$arr)中第一个参数是在模板中使用的变量名,名字可以任意取,第二个参数是传递给模板的变量.举个例子: 1、在Action中赋值了一个myname模板变量: 12$name = 'ThinkPHP';$this->assign('myname',$name); 表示把...
松岭区17746642704: thinkphp里的assign('wish',$wish)什么意思 - ?
汉灵至宝: 将控制器中的变量发送到模板页面.与$this->wish=$wish意义相同.assign('wish',$wish)后就可以直接在模板页面里使用$wish了({$wish}或者<?php echo $wish;?>)
松岭区17746642704: thinkphp 怎么整合 smarty - ?
汉灵至宝: 先有的smarty模板引擎、yii框架,后有的ThinkPHP框架,ThinkPHP中指定左右定界符TMPL_L_DELIM = ''就是根据smarty和yii来实现的,通过C层来分配变量assign,在指定模板display来显示,其实这些都已经说明了ThinkPHP本身已经是整合smarty后的框架,原理是都一样的
松岭区17746642704: thinkphp 3.2 assign 跨模板传值 - ?
汉灵至宝: 我觉得可以换一种思路,通过数据共享,把值缓存起来就可以达到你说需要的效果了,不一定非要死磕assign了
松岭区17746642704: thinkphp中这样写是什么意思?src="{$info.pic|default='/Public/user.png'}" - ?
汉灵至宝: src="{$info.pic|default='/Public/user.png'}" 意思是你的模板对应的controller控制器assign过来的变量info中的pic值,如果不为空则指向$info.pic的路径,如果为空,默认指向的是/Public/user.png这个路径 请参考手册的模板模块的默认值输出部分,这是规定的一个使用规则 {变量|default="默认值"}
松岭区17746642704: thinkphp中$this - >assign()向框架页面传值的问题 - ?
汉灵至宝: 你这句$this->assign('username','zhangsan')中username前后的单印号觉得有点问题,编码与'zhangsan'使用的有点不一样.;
松岭区17746642704: Thinkphpk中判断session - ?
汉灵至宝: 方法很多,灵活运用,例如1.在模板中调用{$Think.session}2.在标签直接编写php代码来判断$_SESSION3.在模板中写,然后在里面直接编写php代码来判断$_SESSION4.在Action中将$_SESSION变量通过assign()方法赋值给模板5.在自定义函数库中,新建一个函数用来返回$_SESSION变量,然后在模板文件中使用{$变量命 | 函数名}来将函数返回的$_SESSION赋给模板中的一个变量 以上五种方法皆可,你也可以想自己的办法.