天天看点

smarty多维数组遍历

  • 多维数组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}}