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

 找回密码
 立即注册
搜索

[疑问] SS7分类列表以图片形式排列

[复制链接]
mhjl2006 发表于 2009-8-21 17:23:06 | 显示全部楼层 |阅读模式
SS7分类列表以图片形式排列

就像DEDECMS分类列表一样

图片式分类列表(调用文章里一张非附件图片  或者是有附件的调用附件图片)
(上边图片下边显示标题文字)

(没图片的调用出一张默认图片)代码怎么写啊?
回复

使用道具 举报

lidq.jingwu 发表于 2009-8-21 17:29:56 | 显示全部楼层
具体代码无法给出,按照下面的思路来做吧。
用SQL查询出每个分类的带有图片的资讯,将片取出来,并显示在页面上。
回复

使用道具 举报

 楼主| mhjl2006 发表于 2009-8-28 08:39:16 | 显示全部楼层
本帖最后由 mhjl2006 于 2009-8-28 08:42 编辑

2# lidq.jingwu


大哥您就写出来吧~我真不会写啊

这个大家都非常需要的
回复

使用道具 举报

fanzhurong 发表于 2009-8-28 15:12:17 | 显示全部楼层
用SQL查询出每个分类的带有图片的资讯,将片取出来,并显示在页面上。
这个方法谁都知道,你答和没答一样,人家就是不会写这代码
回复

使用道具 举报

㊣北方传媒 发表于 2009-8-28 15:16:58 | 显示全部楼层
恩,支持。我就是想要这样的代码~
回复

使用道具 举报

fanzhurong 发表于 2009-8-30 05:53:46 | 显示全部楼层
如何分类显示啊,我只能显示全部,这样变成所有分类栏目都一样了,如:http://www.2007114.com/category-3.html,所有分类都显示一样的,
回复

使用道具 举报

lidq.jingwu 发表于 2009-8-31 15:37:48 | 显示全部楼层
本帖最后由 lidq.jingwu 于 2009-9-3 18:09 编辑

鉴于很多人都需要这个功能,现将代码与程序写在这里,供大家分亨,由于我本地的系统没有多少图片,所以就不发图了。
我是在资讯首页的news_index.html.php文件里面进行修改的,主要是修改“各分类最新资讯列表”的代码,用到一次数据调用,并且为了接收程序中传过来的变量,对系统中的sql参数的值做了相应的修改。
现逐步说明如下:
在news_index.html.php文件的找到如下代码:
<!--{loop $_SBLOCK['newslist'] $value}-->
这句代码是将$_SBLOCK['newslist']数组里面的每个键值依次放到$value里面以做循环。
如果将$value的值打印出来,如下:
Array(
    [itemid] => 389
    [catid] => 1
    [uid] => 1
    [tid] => 0
    [username] => root
    [itemtypeid] => 0
    [type] => news
    [subtype] =>
    [subject] => iPhone传闻难琢磨&nbsp;Verizon不肯&nbsp;
    [dateline] => 1249008532
    [lastpost] => 1249008532
    [viewnum] => 9
    [replynum] => 0
    [goodrate] => 0
    [badrate] => 0
    [digest] => 0
    [top] => 0
    [allowreply] => 1
    [hash] => 869f130cf84c4a5d
    [folder] => 1
    [haveattach] => 1
    [grade] => 0
    [gid] => 0
    [gdigest] => 0
    [password] =>
    [styletitle] =>
    [picid] => 1167
    [subjectall] => iPhone传闻难琢磨&nbsp;Verizon不肯定也不否定
    [url] => http://localhost/s/?action-viewnews-itemid-389
)
在里面有一个picid,如果资讯中有图片的话,它里面会放入第一个图片的ID.
可以通过它来判断是否有图片,有就查库,取图片,没有就用默认图片。

在后台用tag这个基本模块的高级模式来生成的查询附件表代码,SQL如下:
SELECT * FROM supe_attachments WHERE aid=$aid
这里面的$aid是一个变量是$value[picid],生成调用代码后,$会变成%24,使用时要将它改过来才行。
生成的调用代码如下:
<!--{block name="tag" parameter="sql/SELECT%20%2A%20FROM%20supe_attachments%20WHERE%20aid%3D%24aid/limit/0,1/cachetime/900/cachename/attachment/tpl/data"}--><!--attachment-->
修改后如下:
<!--{block name="tag" parameter="sql/SELECT%20%2A%20FROM%20supe_attachments%20WHERE%20aid%3D$aid/limit/0,1/cachetime/900/cachename/attachment/tpl/data"}--><!--attachment-->
上面的讲解完了,根据上面的调用代码来写代码如下:
找到下面一段代码:
<!--{loop $_SBLOCK['newslist'] $value}-->
<li><span class="box_r">#date('m-d', $value['dateline'])#</span><a href="$value[url]" title="$value[subjectall]">$value[subject]</a></li>
<!--{/loop}-->
将其替换为:
<!--{loop $_SBLOCK['newslist'] $value}-->
        <!--{if $value[picid]}-->
                <!--{eval $aid = $value[picid];}-->
                <!--{block name="tag" parameter="sql/SELECT%20%2A%20FROM%20supe_attachments%20WHERE%20aid%3D$aid/limit/0,1/cachetime/900/cachename/attachment/tpl/data"}--><!--attachment-->
                <!--{eval $path = A_URL.'/'.$_SBLOCK[attachment][0][filepath];}-->
                <li><img src="$path"/ ><span class="box_r">#date('m-d', $value['dateline'])#</span><a href="$value[url]" title="$value[subjectall]">$value[subject]</a></li>
        <!--{else}-->
                <li><img src="默认的图片路径"/ ><span class="box_r">#date('m-d', $value['dateline'])#</span><a href="$value[url]" title="$value[subjectall]">$value[subject]</a></li>
        <!--{/if}-->
<!--{/loop}-->

这样设置完就OK了。
回复

使用道具 举报

63490794 发表于 2009-8-31 16:29:39 | 显示全部楼层
没明白楼主需要的意思
回复

使用道具 举报

谈笑问书 发表于 2009-9-9 12:36:34 | 显示全部楼层
能说详细点吗? 我只看懂了三分! $aid 和 24aid 区别是什么,它能实现怎么样的效果,如果要调用一个版块的不同帖子应该怎样写?
回复

使用道具 举报

 楼主| mhjl2006 发表于 2009-9-17 14:54:04 | 显示全部楼层
好帖子顶啊!可是只看懂了一半
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-13 12:11 , Processed in 0.102415 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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