ThinkPHP 3.2.2 在 volist 多重循环嵌套中使用 if 判断标签

Posted 左正

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP 3.2.2 在 volist 多重循环嵌套中使用 if 判断标签相关的知识,希望对你有一定的参考价值。

今天在 Thinkphp 3.2.2 的试图模板中使用多重循环,用来把相应类别下对应的文章都依次循环出来,但是无论如何只能循环出类别,类别下的文章无法循环出,( 错误 ) 代码如下:

技术分享
                <volist name="list" id="vo">
                    <tr class=‘{$vo.help_category_id}‘>
                        <td>{$vo.help_category_id}</td>
                        <td class=‘display_name‘>{$vo.display_name}</td>
                        <td></td>
                        <td></td>
                        <td>
                            <span class=‘addTopic‘>
                                <a href=‘#‘ onclick="return false">新增内容</a>
                            </span>
                            
                            <span class=‘cate_enabled state{$vo.is_enabled}‘>
                                <a href=‘#‘ onclick="return false"><if condition="$vo[‘is_enabled‘] eq  1">暂停<else/>启用</if></a>
                            </span>
                            
                            <span class=‘‘>
                                <a href=‘#‘>删除</a>
                            </span>
                        </td>
                    </tr>
                    <!--循环文章-->
                    <volist name="topic_list" id="topic_vo">
                        <if condition="$topic_vo.help_category_id eq $vo.help_category_id">
                            <tr>
                                <td>{$topic_vo.topic_id}</td>
                                <td></td>
                                <td>{$topic_vo.title}</td>
                                <td>{$topic_vo.priority}</td>
                                <td><span>编辑</span> <span>暂停</span> <span>删除</span></td>
                            </tr>
                        </if>
                    </volist>
                </volist>
技术分享

红色放大字体的代码即为错误代码。要正确取出数据,应该红色将代码改成:

<if condition="$topic_vo[‘help_category_id‘] eq $vo[‘help_category_id‘]">

附:

【ThinkPHP3.2.2 完全开发手册 CHM 2014-04-14】:

由于 if 标签的 condition 属性里面基本上使用的是 php 语法,尽可能使用判断标签和 Switch 标签会更加简洁,原则上来说,能够用 switch 和比较标签解决的尽量不用 if 标签完成。因为 switch 和比较标签可以使用变量调节器和系统变量。如果某些特殊的要求下面,IF 标签仍然无法满足要求的话,可以使用原生 php 代码或者 PHP 标签来直接书写代码。

以上是关于ThinkPHP 3.2.2 在 volist 多重循环嵌套中使用 if 判断标签的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP中foreach和volist的区别

thinkphp volist 排序问题

thinkphp怎么让循环volist除去最后一次

thinkphp volist用法

thinkphp volist用法

ThinkPHP模板循环输出Volist标签用法实例详解