亦非亦凡 2008-4-14 14:52
ArthurXF经验传授smarty变量连接解决方案
[url=http://www.bizeway.net/read.php/316.htm][color=#0000ff]ArthurXF经验传授smarty变量连接解决方案[/color][/url] [img]http://www.bizeway.net/images/others/unstarred.gif[/img] [img]http://www.bizeway.net/template/living/images/lable01.gif[/img] 2008/03/01 01:30 [img]http://www.bizeway.net/template/living/images/lable01.gif[/img] [url=http://www.bizeway.net/view.php?go=user_1][color=#0000ff]ArthurXF[/color][/url]
此文章由ArthurXF(肖飞)倾情奉献!
我们在使用smarty的时候,经常会碰到变量组合成新变量的时候,例如:$aaa$b,$b是可变值,我们需要得到$aaa1,$aaa2,$aaa3等变量.但是在smarty中,这样的变量连接写法是不允许的.
针对这样的问题,我给出下面几种情况的解决方案.
注:<?{和}?>是我定义的smarty定界符,等同于{和},希望大家理解.
引用
1.针对数组的变量连接问题:
<?php
$arrMType = array();
$arrMType[1] = '高交会展';
$arrMType[2] = '学术会议';
$arrData[id] = 1;
?>
在smarty中.
$arrMType[$arrData.id]是错误的.
解决方案:
<?{foreach from=$arrType key=key item=value}?>
<?{if $key == $arrData.type_id}?><?{$value}?><?{/if}?>
<?{/foreach}?>
2.针对文件引用的变量连接问题:
<?PHP
$page="index";
?>
在smarty中,下面的写法都是错误的.
<?{include file=$page.html}?> //这样不能执行成功
<?{include file=$page|cat:".html"}?> //还是不行
解决方案:
<?{include file="$page.html"}?>
3.针对函数传递的变量连接问题:
<?PHP
$arrGWeb['module_id'] = 'news';
?>
要在smarty中实现:
<?{url url = "/news/list?type_id=1"}?>
错误的写法:
<?{url url = "/$arrGWeb.module_id/list?type_id=1"}?>
正确的写法:
<?{url url = "/`$arrGWeb.module_id`/list?type_id=1"}?>
注意:"`"这个符号,是数字1前面的那个符号,不是单引号.
ArthurXF从业10年的CTO [size=9pt],[/size][font=宋体][size=9pt]受聘于上海非凡进修学院进行[/size][/font][size=9pt]PHP[/size][font=宋体][size=9pt]等[/size][/font][size=9pt]IT[/size][font=宋体][size=9pt]课程培训,有意学习者,可以免费试听[/size][/font][font=宋体][size=9pt]个人[/size][/font][size=9pt]BLOG:[/size][font=宋体][size=9pt]地址[/size][/font][size=9pt]:[url]http://www.bizeway.net/[/url][/size]
Nothing 2008-6-11 22:55
smarty模板我个个觉得不是很好,速度和性能太低了。