标题:
ArthurXF经验传授smarty变量连接解决方案
[打印本页]
作者:
亦非亦凡
时间:
2008-4-14 14:52
标题:
ArthurXF经验传授smarty变量连接解决方案
ArthurXF经验传授smarty变量连接解决方案
2008/03/01 01:30
ArthurXF
此文章由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
,
受聘于上海非凡进修学院进行
PHP
等
IT
课程培训,有意学习者,可以免费试听
个人
BLOG:
地址
:
http://www.bizeway.net/
作者:
Nothing
时间:
2008-6-11 22:55
smarty模板我个个觉得不是很好,速度和性能太低了。
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0