在php里面通过循环给smarty赋值
$smarty->assign('s_spec_'.$_p['goods_id'],$c);然后在模板页里通过foreach取值的时候问题就来了,这个goods_id是个变量,这怎样取呢?{$s_spec_$goods_id}这样取取不到,但我如果把$goods_id换成数字{$s_spec_10}就可以取到了

解决方案 »

  1.   

    你可以把$_p['goods_id']也付给一个变量啊,比如$smarty->assign('gid',$_p['goods_id']);
    然后在模板页面不就可以用了。
    {$s_spec_$gid}
      

  2.   

    模板一般是用一个变量的,如:
    $smarty->assign(“yourtest”,$value);
    在html页
    {$yourtest} 
      

  3.   

    谢谢ls
    可以写成{$s_spec_}{$gid}
      

  4.   

    可以写成{$s_spec_}{$gid}?
    马上试试
      

  5.   

    {eval var=$smarty.ldelim|cat:"$left_delimiter\$s_spec_$goods_id"|cat:$smarty.rdelim}不过还是建议用数组循环添加:$arr[$_p['goods_id']] = $c
    只赋值一次:$smarty->assign('s_spec',$arr); 
    模板内再循环输出
      

  6.   

    {eval var=$smarty.ldelim|cat:"\$s_spec_$goods_id"|cat:$smarty.rdelim}