无限分类用smarty在html页面中的输出问题

#1 zhangshiwen

//主要问题:将分类变成多维数组了。但是在smarty中怎么输出来

$fenlei=spClass('fenlei');
$tt=$fenlei->findAll();
// dump($tt);
        $l= spClass('spTree');
        $l->result=$tt;
        $l->handler();
        //获取分类好的新数组
        $arr=$l->leaf();
    dump($arr);
//$nav=$l->navi(1);

$this->arr =$arr;
        $this->display("index.html");

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 分类1
            [pid] => 0
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 3
                            [name] => 分类1.1
                            [pid] => 1
                            [child] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 7
                                            [name] => 分类1.1.1
                                            [pid] => 3
                                        )

                                )

                        )

                    [1] => Array
                        (
                            [id] => 4
                            [name] => 分类1.2
                            [pid] => 1
                            [child] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 8
                                            [name] => 分类1.2.1
                                            [pid] => 4
                                        )

                                )

                        )

                )

        )

    [1] => Array
        (
            [id] => 2
            [name] => 分类2
            [pid] => 0
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 5
                            [name] => 分类2.1
                            [pid] => 2
                        )

                    [1] => Array
                        (
                            [id] => 6
                            [name] => 分类2.2
                            [pid] => 2
                        )

                )

        )

)


---------------------------------------别人用smarty是这么解决的,但是在框架中不知道怎么解决
<{function name=menu}>
       

                    <{foreach $data as $entry}>
                           

  •                                 <{$entry.name}>
                            <{if isset($entry.child)}>
                                    <{call name=menu data=$entry.child}>
                            <{/if}>
                           

  •                 <{/foreach}>
           

<{/function}>
<{call name=menu data=$arr}>

2012-12-03 20:16:53

#2 zhangshiwen

另外请问有没有QQ群呢,这样有问题比较好请教

2012-12-03 20:20:45

#3 jake

看手册,关于模板中多维数组用法的文章,有问题请先看手册

有Q群,搜索就知道了。不过Q群不接受提问,更不接受没看过手册就提问的。

2012-12-03 20:25:30

#4 zhangshiwen

jake 发表于 2012-12-3 20:25
看手册,关于模板中多维数组用法的文章,有问题请先看手册。

有Q群,搜索就知道了。不过Q群不接受提问,更 ...
我已经看过手册了,但是不知道怎么解决

  • 主页
  • 新闻

    • 天朝新闻

      • 州官新闻

        • 娱乐新闻
    • 海外新闻
  • 媒体

    • 音乐

      • 铃声

        • 热门铃声
        • 搞笑铃声
        • MP3铃声

          • 128K
      • 流行音乐
      • 古典音乐
    • 电影
    • 小说

      • 穿越类
      • 武侠类
  • 下载
  • 关于我们//在smarty中循环输出下一个菜单,不知道怎么递归

2012-12-03 20:30:41

#5 zhangshiwen


    <{foreach from=$arr item=entry}>
       

  •     <{$entry.name}>
        <{if isset($entry.child)}>
                            这里不能一直输出子菜单,可是又不知道怎么递归       
                            <{/if}>
       
    <{/foreach}>

2012-12-03 20:38:30

#6 jake

你上面的代码是用模板函数,所以,看手册,模板函数

2012-12-03 20:42:15

#7 jiayan41

smarty里用模板函数定义一个function,然后call实现调用自身循环显示。
论坛里有案例,自己搜索。

2012-12-05 09:22:39

#8 jiayan41

zhangshiwen 发表于 2012-12-3 20:38
这里不能一直输出子菜单,可是又不知道怎么递归       
                       
   
仔细看了你上面的代码,子菜单是递归输出的。问题应该出在你给smarty赋值上

2012-12-05 09:25:35