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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

论坛分类信息主题列表页,仿淘宝列表,利用discuz 建成 福宝网 www.gdfob.net

[复制链接]
bygabc 发表于 2012-5-10 23:23:41 | 显示全部楼层 |阅读模式
DIY模块素材
模块类型: 论坛类
展示风格: 图文混排
是否原创:
本帖最后由 bygabc 于 2012-12-15 11:50 编辑

随着对discuz的深入操作,练习制作出了论坛分类信息列表页的一个小模板

特点:发帖人在发帖时选中下拉列表中的国家和地区的名字,在主题列表页的作者下方会自动出现对应的国家或地区的国旗图标和名字;商品图片120x120按比例缩放,所有图片与文字均统一整齐排列

难度:较难

所用到的知识点:论坛分类信息设置 、数据库操作 、discuz模板解析语法 、php语言





            
后记:此帖发出后,有朋友问这个效果是怎么做出来的,我大致说一下。

我开始的思路是:后台分类信息设置字段:产品图片(图片,上传图片类型)、产品名称、产品数量、信息有效期和国家与地区(字符串,采用下拉列表),发帖人在发帖时上传图片,填选信息,如果他选的是美国,列表页作者栏应该出现美国国旗和国名。如果想建立国旗图片和发帖下拉列表选项的关系,就一定得知道下拉列表项是哪一个上传变量,但是我没有找到表单上传变量,表单变量在PHP里是$_POST,但是discuz可能把上传变量该掉了,找不到。

分类信息上传的内容都在$stemplate[$sortid][$thread[tid]]这个东西里面,问题是我无法了解它里面的具体设置。

苦思苦想没有办法。在论坛里搜到分类信息发帖人上传的信息都存储在数据表***_forum_typeoptionvar中,正是这个发现使无法解决的问题有了可能,这要感谢下砂兄弟的帖子。

先前无法操作上传变量,现在转而改为直接操作数据表。

列表页模板文件是froumdisplay_list.htm,我所有的改动都是在这个文件里的。数据库等操作需要使用PHP语言,html一般是不支持PHP语言的,幸好discuz另一个天才的发明就是让模板文件支持最基础的PHP语言,这叫做discuz模板解析语法。我的改动中多处使用了<!--{eval    }-->语句。但是PHP在模板里还是受到限制,我的一个体会是如果你使用了<!--{eval    }-->语句,那么在这个语句里面所有涉及到{}的php语法就一定不能使用,比如含有多个执行语句的if(){}语句,就一定不能使用,否则出错。解决办法很简单,你自己想。

字段optionid里储存了相应的上传信息,所以可以在后台把分类字段都设置好,但是在后台分类列表页的模板里要清空,即设置好的分类信息虽然可以正常的发帖、上传信息,但是不会在列表页显示,同时可以把
<!--{if $stemplate && $sortid}-->$stemplate[$sortid][$thread[tid]]<!--{/if}--> 这句删除,应为它已经没用了。剩下的任务就是你要把产品图片,产品名称、数量、信息有效期这些value从数据表里取出来,放置在原先
<!--{if $stemplate && $sortid}-->$stemplate[$sortid][$thread[tid]]<!--{/if}--> 这句的地方,即在一对<th></th>内,并加上CSS样式。国旗那个需要在模板文件里用PHP语法写出:从数据表里取出国家对应的数字,然后把一个含有这个国家国旗图片的url地址传到一个你insert的一个新optionid的记录中,用来储存国旗图片地址,以便在后来的表格循环中能从数据表里取出这个国旗图片的地址,有了国旗图片的地址,你就可以使用<image>标签把国旗图片显示出来。

这就是大致的做法。
说起来简单,但是实际操作起来会遇到很多问题,需要千方百计找到办法去解决。我遇到一个问题,产品图片120X120按比例缩放,这是由<image>标签来实现的(但是如果你简单的设置成 width="120" length="120" 就只会得到一个失真的图像),IE、火狐、腾讯、Opera浏览器都能严格执行<image width="120">这个标签,输出的图片都是120px宽的,就是谷歌浏览器一定要输出一个122px宽的图片,怎么用CSS调都不顶事。

没办法了,后来灵机一动,就想能不能判断出使用的是谷歌浏览器,然后为谷歌浏览器单独设置一个标签,<image width="118">,上网一查,竟然找到了php语句:stripos($_SERVER["HTTP_USER_AGENT"],"firfox")可以判断使用的是火狐浏览器,于是我把它拿来判断谷歌浏览器,问题就得到了解决。




后记的后记:几个月之后,我用disucuz 论坛创建了福宝网   www.gdfob.net  全球中英文双语经贸网

福宝网定位于成长为提供中外经贸信息交流、尤其是外贸信息交流的优良平台。

福宝网同时拥有中、英文两个站点,方便国内用户获得国外商贸资讯,还有中、英文聊天室,方便和老外及时沟通。

网站现在刚开始运行,欢迎大家前来试用,并提出建议和意见。

感谢discuz,感谢康盛!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
bjy553611 发表于 2012-5-12 09:08:29 | 显示全部楼层
这个很好,就是不知道怎么做,能不能说的详细一点啊
回复

使用道具 举报

qipin 发表于 2012-5-12 16:46:45 | 显示全部楼层
如果详细一点就完美了 感觉仿淘宝还是不错的!!
回复

使用道具 举报

itdiy 发表于 2012-5-12 23:22:39 | 显示全部楼层
求代码!!!!
回复

使用道具 举报

莫名的小情绪 发表于 2012-5-13 14:07:30 | 显示全部楼层
bjy553611 发表于 2012-5-12 09:08
这个很好,就是不知道怎么做,能不能说的详细一点啊

同意~~~
回复

使用道具 举报

寄生木马 发表于 2012-5-13 14:26:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

莫名的小情绪 发表于 2012-5-13 20:54:22 | 显示全部楼层
寄生木马 发表于 2012-5-13 14:26
分类信息做的,可以鼠标效果丢了

瞧这个

有相关的教程吗,我要的是主题列表的模板
回复

使用道具 举报

duijiebaila 发表于 2012-5-15 16:28:55 | 显示全部楼层
对节白蜡景观,让城市更美丽http://china.toocle.com/trade/detail--253941759.html
回复

使用道具 举报

q881 发表于 2012-5-16 22:23:17 | 显示全部楼层
还不错,但是暂时不需要!
回复

使用道具 举报

马氏体 发表于 2012-5-17 16:23:34 | 显示全部楼层
求代码http://816026738.xiaodoutao.com/
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 14:51 , Processed in 0.040254 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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