立即免费下载 Discuz!6.1.0正式版
Discuz! 6.1.0 使用说明
Discuz!NT升级至v2.1
开放源码下载
UCenter Home 1.0 正式版发布
官方站 | 帮助文档
基于ECShop的免费网店托管-卖否
PHP实战精英班培训 | LAMP培训大连
Discuz!收费服务内容及价格
论坛免费升级 手握手
Discuz!/ECShop 专用官方虚拟主机
抢鲜体验Insenz夏普模板风格
Comsenz 招聘信息
网店系统ECShop v2.6.0正式版火热发布
基于Discuz!的免费论坛空间5D6D
门户通·2G全能空间支持站长创业
发新话题
打印

[经验] 首页n格的问题整理与解决[最后更新:2007.11.05 JS调用附件]

本主题由 System 于 2008-3-1 10:00 解除限时置顶

首页n格的问题整理与解决[最后更新:2007.11.05 JS调用附件]

引用:
关于图片调用,因为原有的pic.php文件不完美,我们推荐用户使用JS调用图片附件,可以参考以下几帖:
http://www.discuz.net/thread-419519-1-1.html
http://www.discuz.net/thread-571665-1-1.html
http://www.discuz.net/thread-737586-1-1.html
引用:
关于修改了0724补丁无法显示的问题,是因为补丁中覆盖了index.php。建议根据手动升级的方法进行修改:http://www.discuz.net/thread-688304-1-1.html
因为首页n格的版本之多,所以今天闲来无事把首页n格所出现的问题大致整理下,毕竟这个东西从4.x或者2.x就开始用,变化一直大同小异,整理仓促,有什么问题回贴提出,以便更快的处理。本帖外其他首页N格相关问题恕不一一作答。正如各个作者可能个人事情比较多,使你的问题得不到及时处理,你可以把问题回复在这里,并写出所装首页n格的地址,我们尽力帮你处理。为了使会员的问题及时得到解决,本主题禁止灌水,谢谢合作。

最后更新:2007.07.28
引用:
关于后面有人问到的一些代码加到哪里.一般下面给出的修改数据库的,都是加在index.php里增加的代码中的$query后面的部分,这里是数据库查询.
引用:
Q:开启主题回收站后,删除的帖子在首页n格还显示。
A:index.php里增加的代码里的查询中,加入
复制内容到剪贴板
代码:
AND t.displayorder>=0
代码。  
延伸:displayorder!=-1 and displayorder!=-2不稳定,建议使用displayorder>=0
引用:
Q:为什么首页n格的图片浏览不显示?
A:你先确定下你做了以下操作:在论坛的帖子内,有jpg格式的图片附件,在pic.php里 找
复制内容到剪贴板
代码:
AND filetype='image/pjpeg'
或者
复制内容到剪贴板
代码:
AND filetype='image/jpeg'
替换成
复制内容到剪贴板
代码:
AND filetype='image/jpeg' OR filetype='image/pjpeg'
另外,因为目前的pic.php都是用的一个文件,所以远程调用的附件可能不能显示。
图片调用不显示的问题 受诸多方面影响 不仅是程序 还包括服务器设置以及论坛的某些路径设置 每个网站的配置和设置都不一样 无法通过站长的介绍得出任何结论 因此我们提供的解决方法仅就程序而言 如果尝试了我们提供的几种方法仍然不能显示图片的 最好是向原作者求助
延伸:让游客不能查看首页n格的图片预览。因为图片的一般都是调用的一个pic.php,所以只要在这个IFRAME的前后加一个判断即可。下面是个例子,当然不推荐用文字显示,可以做一个同FLASH大小的图片放在那里。
复制内容到剪贴板
代码:
<!--{if !$discuz_uid}-->对不起,你没有登陆,不能查看论坛图片.<!--{else}--><iframe name="I1" src="pic.php" width="230" height="170" frameborder=0 scrolling=no marginwidth="9" marginheight="2" align="right"></iframe><!--{/if}-->
引用:
Q:如何调整首页n格内的Flash图片的宽度和高度?
A:主要是width和height的数值,参考贴:http://www.discuz.net/viewthread.php?tid=648565
延伸:还有个在pic.php里调整的,参考:http://www.discuz.net/viewthread.php?tid=651929
引用:
Q:首页n格的标题显示字数怎么修改?
A:这个一般都是有注释的,控制的字段是index.php里添加的字段,因为版本不同,所以各有不同,但那个字段,我想负责任的作者都有注释。
延伸:有些时候觉得调用主题条数和自己设置的不一致,其实问题就出在显示字数上,因为显示字数过多,造成一些标题换行显示
引用:
Q:如何把首页四格的最热话题改为发贴排行?
A:参考:http://www.discuz.net/viewthread ... p;page=1#pid5110414
引用:
Q:首页四格如何不显示某个指定的版块?
A:可以直接在查询里加入,AND f.fid NOT IN (1,2) 等等 ,也可以参考后台控制的:http://www.discuz.net/viewthread.php?tid=295570
引用:
Q:怎么将首页三各中点击标题后不要另外跳出一个页面,之间进去即可?
A:在discuz.htm里添加的代码内,查找target="_blank"即可,此为A的新窗口效果。
延伸:不能新打开窗口的,只要在A中增加target="_blank"即可。
引用:
Q:如果将首页n格的图片更换为其他内容?
A:其实这个图片调用是用的一个iframe将pic.php镶嵌,没有数据库查询,只要将discuz.htm里添加的代码中的iframe一行替换即可。
引用:
Q:使用首页n格后,版块名如何正常使用html代码加颜色?
A:主要是首页n格没有加过滤,参考:http://www.discuz.net/thread-622582-1-1.html
引用:
Q:Warning: shuffle() expects parameter 1 to be array, boolean given in e:\web\33zx\web\pic.php on line 39
A:没有正确上传图片附件,发一个帖子以附件形式上传jpg图片文件。
引用:
Q:为什么我的首页n格显示数超过了是10,并且换行乱了?
A:1.把图片调用的Flash设置宽度窄一点.2.设置首页调用的字符数小些,这个在数据库代码那里作者都应该有注释.
引用:
Q:热门、精华、随机等代码的示例。
A:首页n格都可以根据自己的需要修改,主要都修改查询。例子:[quote]$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fid  AND t.closed NOT LIKE 'moved|%' AND t.replies !=0 ORDER BY t.views DESC LIMIT 0, 10");//10代表的为显示10行//
蓝色部分为回复不为0,按照主题查看数排序。
复制内容到剪贴板
代码:
AND t.digest>0 ORDER by rand()
此为随机精华。其他修改大同小异。[/quote]
引用:
Q:出现Errno.: 1064错误,该如何处理?
A:这是因为带后台版的n格,安装后没有在后台设置不显示的版块FID,在后台加入要屏蔽的版块的FID即可。也可以在index.php所加代码里加入
复制内容到剪贴板
代码:
$Hiddenfid = empty($Hiddenfid) ? 0 : $Hiddenfid;
(此以http://www.discuz.net/thread-571328-1-1.html为例)
引用:
Q:首页四格的美化-隐藏与展示
A:参考:http://www.discuz.net/thread-433569-1-1.html
引用:
Q:首页n格,出现乱码
A:n格模板中含有中文 且字符集于论坛字符集冲突
用记事本等文本编辑工具打开四格模版(如直接修改discuz.htm则打开此文件) 选择 文件-另存为 在弹出窗口最下部 编码 处选择和论坛字符集对应的编码
延伸万用插件转码安装程序(让UTF8论坛也能用GBK插件) BASE64内容编辑器
特别说明:最好的方法是在语言包中定义汉字内容
引用:
Q:为什么我上传了很多jpg的附件图片,却只显示1个
A:因为图片存在于同一个主题。
引用:
Q:我的首页四格图片不动呀
A:参考:http://www.discuz.net/thread-640554-1-1.html
引用:
Q:关于四格图片的出现几率
A:参考:http://www.discuz.net/thread-641732-1-1.html
引用:
Q:TOPLIST首页四格Cache版 0724升级后不更新临时解决方案
A:参考:http://www.discuz.net/thread-693320-1-1.html主贴及12、14楼解决方法
[ 本帖最后由 习明 于 2007-12-25 12:37 编辑 ]
本帖最近评分记录
  • 寵 金钱 +1 贵港天空论坛www.bbsgg.cn 2007-6-27 10:57
  • 心灵刺客 金钱 +1 请问:直接在查询里加入,AND f.fid N ... 2007-6-19 18:08
  • cnteacher 威望 +4 楼主整理的仔细,鼓励一下 2007-6-18 23:45
 
2楼更新.你的问题在上面没有列出的话,可以回贴说明.

无关灌水一律删除.



[ 本帖最后由 TaRot! 于 2007-6-18 13:33 编辑 ]
 
您可以把问题在这里跟帖,并写出所装首页n格的地址,要达到什么目的,曾经改过什么。您所提供的信息越充分,获得帮助就越及时准确,这是提问的技巧
Por los momentos dificiles ya entendi que la flor mas bella sera siempre para mi
因这所有的挫折 我终于明白 那最美丽的花朵 是为自己而盛开
能把首页的图片换成视讯吗?
如果是做偶像论坛的,该如何改才能不影响论坛游览啊???

回复 #8 动凡心 的帖子

不好意思,你说的"视讯"我不太清楚是什么?
 
1、我觉得首页五格上的“最新主题”板块会使网站的主题不够明确,因此希望将“最新主题”板块放置在最后面。即调整各板块的顺序,怎么处理呢?
2、我还想把首页五格的位置放置在首页的底部而不是顶端,有怎么处理呢?

多谢

回复 #6 sunbrain 的帖子

1.你说的只要修改discuz.htm里增加的代码即可.一般增加的代码作者都写了注释,直接移动表格内的内容即可 .
2.放到底部也是编辑discuz.htm,将加入的代码加到合适位置即可.
 
好久没有这样的技术帖~~继续发其他的,好让DZ新手学习一下
调色盘 《游戏学园》–让你挥洒最精彩的生活
请问AND t.displayorder>=0加在index.php哪里?

我的代码是这样的
复制内容到剪贴板
代码:
/////////////////////////////////////////////////////////////首页热门贴
//今日发贴排行
$tomonth=date(n);
$todate=date(j);
$toyear=date(Y);
$time=mktime(0,0,0,$tomonth,$todate,$toyear);
$query=$db->query("select count(pid) as num,authorid,author from $tablepre"."posts where dateline>=$time group by authorid order by num desc limit 0,11");
while($result=$db->fetch_array($query)){
$poststar.="<a href=viewpro.php?uid=".$result[authorid].">".$result[author]."</a> (<font color=red>".$result[num]."</font>)<br>";
}
//今日发贴排行

$hack_subject_len=80; //每个标题最多显示得字数
$hack_subject_num=10; //需要显示记录数

$hack_newthreads_threadlist = array();
$thread = array();
//最新贴
$query = $db->query("SELECT dateline,tid,subject,author,views,replies,lastpost,lastposter FROM {$tablepre}threads WHERE fid    ORDER  BY dateline DESC LIMIT 0, $hack_subject_num");

while($thread = $db->fetch_array($query)) {
              $thread['forumname'] = $thread['name'];
              $thread['date']= gmdate("$dateformat $timeformat", $thread['dateline'] + $timeoffset * 3600);
              $thread['lastreplytime']= gmdate("$dateformat $timeformat", $thread[lastpost] + ($timeoffset * 3600));
              $thread[subject0]=$thread[subject];
              $thread['subject'] = cutstr($thread['subject'], $hack_subject_len);
              $hack_newthreads_threadlist[] = $thread;
}
//最新贴

$threadview = $threadreply = array();
//最新回复
$query = $db->query("SELECT dateline,tid,subject,author,views,replies,lastpost,lastposter FROM {$tablepre}threads WHERE fid    AND replies ORDER BY lastpost DESC LIMIT 0, $hack_subject_num");
              while($thread = $db->fetch_array($query)) {
                              $thread[subject0]=$thread[subject];
                              $thread['forumname'] = $thread['name'];
                              $thread['date']= gmdate("$dateformat $timeformat", $thread['dateline'] + $timeoffset * 3600);
                              $thread['lastreplytime']= gmdate("$dateformat $timeformat", $thread[lastpost] + ($timeoffset * 3600));
                              $thread[subject] = cutstr($thread[subject], $hack_subject_len);
                              $threadreply[] = $thread;
              }
//最新回复
///////////////////////////////////////////////////////////////////首页热门贴

回复 #9 juse 的帖子

复制内容到剪贴板
代码:
$query=$db->query("select count(pid) as num,authorid,author from $tablepre"."posts where dateline>=$time group by authorid order by num desc limit 0,11");
to
复制内容到剪贴板
代码:
$query=$db->query("select count(pid) as num,authorid,author from $tablepre"."posts where dateline>=$time AND t.displayorder>=0 group by authorid order by num desc limit 0,11");
类似的 其他几个$query同样修改
Por los momentos dificiles ya entendi que la flor mas bella sera siempre para mi
因这所有的挫折 我终于明白 那最美丽的花朵 是为自己而盛开
发新话题
版块跳转