Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[模型] SS6.0 模型 “允许列表显示“ 问题

[复制链接]
hotvb 发表于 2010-3-23 06:55:39 | 显示全部楼层 |阅读模式
自定义模型后
建立字段 A 类型为“复选框”,复选"表单显示元素"为 A1, A2, A3
再建立字段 B 类型为“复选框”,复选"表单显示元素"为 B1, B2, B3

以上2个字段都“允许列表显示”,就是在 Category.html 里面有显示

发布信息时,【字段A】复选了A1,A2,但是【字段B】则没有选任何B1,B2,B3,在前台显示则【字段B】会出现

情况一: 【字段A】选中A1, A2, 【字段B】选中 B2, B3
前台显示如下:
A: A1 A2
B: B2 B3

情况二: 【字段A】不选中任何, 【字段B】选中 B2, B3
前台显示如下:
A:
B: B2 B3

如何可以判断如果该【复选字段】没有内容可以不显示呢? 就是如果【字段A】后面没有内容,那么 【A:】 也不会显示

以下是Category.html.php 的代码:
(同view.html.php 代码比较后无法看出区别,view.html.php 如果该【复选字段】后面没有内容就自动不显示

<!--{if !empty($columnsinfoarr)}-->
                                        <ul>
                                        <!--{loop $columnsinfoarr $tmpkey $tmpvalue}-->
                                                <!--{if !is_array($value[$tmpkey])}-->
                                                <!--{if strlen($value[$tmpkey]) > 0}-->
                                                        <li><em>$tmpvalue[fieldcomment]:</em>
                                                        <!--{if $tmpvalue[formtype]!='timestamp' }-->
                                                        <a href="$siteurl/m.php?name=$modelsinfoarr[modelname]&mo_$tmpkey=<!--{eval echo rawurlencode($value[$tmpkey]);}-->">$value[$tmpkey]</a>
                                                        <!--{else}-->
                                                        #date("m月d日 H:i", $value[$tmpkey])#
                                                        <!--{/if}-->
                                                        </li>
                                                <!--{/if}-->
                                                <!--{else}-->
                                                        <!--{if !empty($value[$tmpkey])}-->
                                                        <li class="maxcontent">
                                                       
                                                        <em>$tmpvalue[fieldcomment]:</em>
                                                       

                                                       
                                                        <!--{loop $value[$tmpkey] $dkey $dvalue}-->
                                                                <!--{if $tmpvalue[formtype]=='textarea' }-->
                                                                $dvalue
                                                                <!--{else}-->
                                                                <a href="$siteurl/m.php?name=$modelsinfoarr[modelname]&mo_$tmpkey=<!--{eval echo rawurlencode($dvalue);}-->">$dvalue</a>
                                                                <!--{/if}-->
                                                        <!--{/loop}-->       
                                                                                                                                                       
                                                        </li>
                                                        <!--{/if}-->
                                                                                                       
                                                <!--{/if}-->
                                        <!--{/loop}-->
                                        </ul>
                                        <!--{/if}-->



请高手指点,谢谢!
lidq.jingwu 发表于 2010-3-23 09:50:49 | 显示全部楼层
回复 1# hotvb


    这个实现起来比较复杂,因为模型的显示全部是通过循环来实现的,要判断是否为空,必须在循环中对每个要显示的字段进行判断。
可以试着用一下if判断。
回复

使用道具 举报

 楼主| hotvb 发表于 2010-3-23 18:37:29 | 显示全部楼层
看了一下,不知道是不是对以下循环进行判断

1<!--{if !empty($value[$tmpkey])}-->
2<li class="maxcontent">
3<em>$tmpvalue[fieldcomment]:</em>
4<!--{loop $value[$tmpkey] $dkey $dvalue}-->
5<!--{if $tmpvalue[formtype]=='textarea' }-->
6$dvalue
7<!--{else}-->
8<a href="$siteurl/m.php?name=$modelsinfoarr[modelname]&mo_$tmpkey=<!--{eval echo rawurlencode($dvalue);}-->">$dvalue</a>
9<!--{/if}-->
10<!--{/loop}-->
11</li>

但是试了之后 <!--{if !empty($dvalue)}--> 还是无法判断
估计因为是复选框,所以 dvalue已经有值,所以已经判断出来不是空值

那么如果【复选A】,选项A1 A2 A3,如果没有选择,应该如何判断该值是否为空呢

是否有另外一个值, 比如 【复选A】, A1 A2 被选中,那么这个值就是 1,而A3没有选中,那么该值就为0呢?
如果能知道这个值是哪个参数,那么就可以判断了

不知道这样理解是否正确?
回复

使用道具 举报

 楼主| hotvb 发表于 2010-3-24 18:20:10 | 显示全部楼层
顶一下,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-17 21:25 , Processed in 0.045359 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表