例如,原来{$lang.member_1}表示一级会员,我现在想这样做,
$user_level=1{$lang.member_$user_level}让其解析出来等于{$lang.member_1}

解决方案 »

  1.   

    section loop=$arry name=
    取值
    $arry[name].属性的值
      

  2.   

    {$lang.member_$user_level}
     这是两个变量,怎么能合算成一个变量呢?
    语法上也不过不去
     用数组,section嵌套循环
      

  3.   

    我们在使用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前面的那个符号,不是单引号.-----------------------------------
    http://www.jiemengwu.com/ 解梦屋 http://www.phpzy.com/php/ 绿色php资源
      

  4.   

    php模式下就可以实现,在smarty下应该不能吧。