问一个与模版有关的问题

#1 redguan

有一个分类数组

 
$categiries = array(
  '100'=>array('cid'=>100,'name'=>'国际'),
  '101'=>array('cid'=>101,'name'=>'科技'),
  '102'=>array('cid'=>102,'name'=>'娱乐'),
);


在模版中能正常显示
 



同一页面,我想在内容列表中显示分类,却为空

   
   
  • []

  •    
    不知道红字部分有没有写错。

    2010-03-05 17:58:43

    #2 jake

    多维数组的循环可以看看smarty的文档教程
    http://www.smarty.net/manual/en/language.function.foreach.php

    另外,在sp中是通过$this->ooo = ooo来将变量赋值到模板上的,上面的代码没有这个,不知道变量有没有赋值到模板了。

    2010-03-06 08:48:04

    #3 redguan

    既然在同一个模版中能显示


    说明程序中已经
    $this->categories = $categories;


    在文章列表页
    [] 
    能显示出
    [100]


    而要将分类ID显示为中文。

    变量原型为:

     
    $categories['cid']['name']


    在SMARTY模版中,如何将这个变量原型显示出来?

    一、
    $categories[$data.cid]['name'] 


    是不行的。

    二、通过SMARTY模版赋值语句



    $categories._cid['name'] 
    也不行。

    2010-03-06 11:26:30

    #4 jake

    将$categories[$data.cid]['name'] 改成$categories.$data[cid].name试试

    2010-03-06 12:53:32

    #5 redguan

    将$categories[$data.cid]['name'] 改成$categories.$data[cid].name试试
    jake 发表于 2010-3-6 12:53
    同样不行。

    我通过SMARTY的赋值语句。将变量简化成



    相当于:

     
    $_cid = $data['cid'];


    $categories.$_cid.name  


    这样就行了。

    2010-03-06 15:28:10