section遍历多维数组[转]

      在使用smarty时,如果要做到真正的模板和代码分离的话,我经常是在代码中直接输出一个数组,然后具体实现的话就交给模板了.淡如果遇到了多为数组的时候section就会遇到一些问题,但可以按下面的方法来解决.希望哪位也能提供好的给我.
使用section的多维数组遍历每个数据

例如数据集为:

Array
(
    [0] => Array
        (
            [Tid] => 21
            [Updated] => 2007-12-31 10:21:18
            [Created] => 2007-12-31 10:21:18
            [Typename] => 系统相关
            [Fid] => 0
        )

    [1] => Array
        (
            [Tid] => 20
            [Updated] => 2007-12-31 10:21:07
            [Created] => 2007-12-31 10:21:07
            [Typename] => Html/Css/Ajax
            [Fid] => 0
            [SmallType] => Array
                (
                    [0] => Array
                        (
                            [Tid] => 25
                            [Updated] => 2007-12-31 10:25:42
                            [Created] => 2007-12-31 10:25:42
                            [Typename] => HtmlBook
                            [Fid] => 20
                            [TopArticle] => Array
                                (
                                    [0] => Array
                                        (
                                            [Atcid] => 9
                                            [Title] => 文章测试
                                            [Tid] => 25
                                            [Created] => 2007-12-31 10:27:13
                                            [Hits] => 1
                                            [Atc_guest] =>
                                        )

                                )

                        )

                )

        )

    [2] => Array
        (
            [Tid] => 17
            [Updated] => 2007-12-31 10:20:34
            [Created] => 2007-12-31 07:55:34
            [Typename] => PHP编程
            [Fid] => 0
            [SmallType] => Array
                (
                    [0] => Array
                        (
                            [Tid] => 24
                            [Updated] => 2007-12-31 10:22:16
                            [Created] => 2007-12-31 10:22:16
                            [Typename] => Fleaphp框架
                            [Fid] => 17
                            [TopArticle] => Array
                                (
                                )

                        )

                    [1] => Array
                        (
                            [Tid] => 23
                            [Updated] => 2007-12-31 10:21:50
                            [Created] => 2007-12-31 10:21:50
                            [Typename] => PHP代码库
                            [Fid] => 17
                            [TopArticle] => Array
                                (
                                    [0] => Array
                                        (
                                            [Atcid] => 13
                                            [Title] => 特殊贴
                                            [Tid] => 23
                                            [Created] => 2008-02-26 09:59:25
                                            [Hits] => 1
                                            [Atc_guest] =>
                                        )

                                )

                        )

                    [2] => Array
                        (
                            [Tid] => 22
                            [Updated] => 2007-12-31 10:21:33
                            [Created] => 2007-12-31 10:21:33
                            [Typename] => PHP基础
                            [Fid] => 17
                            [TopArticle] => Array
                                (
                                    [0] => Array
                                        (
                                            [Atcid] => 12
                                            [Title] => Smarty生成分页静态页面
                                            [Tid] => 22
                                            [Created] => 2007-12-31 10:40:08
                                            [Hits] => 1
                                            [Atc_guest] =>
                                        )

                                    [1] => Array
                                        (
                                            [Atcid] => 11
                                            [Title] => smarty生成静态页面
                                            [Tid] => 22
                                            [Created] => 2007-12-31 10:36:28
                                            [Hits] => 1
                                            [Atc_guest] =>
                                        )

                                )

                        )

                )

        )

)

在使用模板时:可以采用以下写法:
{{section name=list loop=$Atcs}}<!-- 一级类别 -->
<div align="left">{{$Atcs[list].Typename}}</div>
{{assign var=SmallType value=$Atcs[list].SmallType}}<!-- 二级类别 -->
{{section name=list1 loop=$SmallType}}
<div align="left">&nbsp;-->{{$SmallType[list1].Typename}}</div>
{{assign var=TopAtc value=$SmallType[list1].TopArticle}}<!-- 二级分类中 的几篇文章 -->
{{section name=list2 loop=$TopAtc}}
<div align="left">&nbsp;&nbsp;&nbsp;-------{{$TopAtc[list2].Title}} -----{{$TopAtc[list2].Created}}</div>
{{/section}}
{{/section}}
<hr />
{{/section}}
显示结果为:

 
 
系统相关

Html/Css/Ajax
 -->HtmlBook
   --------文章测试 -------2007-12-31 10:27:13

PHP编程
 -->Fleaphp框架
 -->PHP代码库
   --------特殊贴 -------2008-02-26 09:59:25
 -->PHP基础
   --------Smarty生成分页静态页面 -------2007-12-31 10:40:08
   --------smarty生成静态页面 -------2007-12-31 10:36:28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值