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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[经验] UCH超强修改:网站个人动态信息(日志、博客、相册等所有信息)置顶功能

[复制链接]
scckfzx 发表于 2008-11-10 16:56:06 | 显示全部楼层 |阅读模式
UCHome插件
语言编码: GBK简体 UTF8简体 BIG5繁体 
插件名称: 动态信息置顶
插件作者: scckfzx
适用版本:
本帖最后由 scckfzx 于 2008-11-11 01:22 编辑

由于UCH的个人动态信息是按时间排序的,因此大量的动态信息覆盖了一些站长希望能长期出现在首页的动态信息。

花了一下午对Uchome程序进行了修改,终于达到效果了,

并且实现后台可管理日志、博客、相册等所有UCH中的事件置顶操作和取消置顶操作。

修改方法(修改之前备份你们的文件啊)

1、通过PHPMYADMIN执行SQL语句:

alter table uchome_feed  add column up int not null default '0'

目的:在事件表中添加up字段标识是否置顶。

2、修改source/space_feed.php文件:

找到ORDER BY dateline DESC  (约71行)

修改为:ORDER BY up DESC, dateline DESC   目的:将动态排序方式为 置顶为第一排序,时间为第二排序。

找到(约270,注意这一段程序中有个很容易混淆的一段相似代码)

if($a_value['dateline']>=$_SGLOBAL['today']) {
                        $list['today'][] = $a_value;
                } elseif ($a_value['dateline']>=$_SGLOBAL['today']-3600*24) {
                        $list['yesterday'][] = $a_value;
                } else {
                        $theday = sgmdate('Y-m-d', $a_value['dateline']);
                        $list[$theday][] = $a_value;
                }

修改为:

if($a_value['up']==1) {
                        $list['up'][] = $a_value;
                } elseif ($a_value['dateline']>=$_SGLOBAL['today']) {
                        $list['today'][] = $a_value;
                } elseif ($a_value['dateline']>=$_SGLOBAL['today']-3600*24) {
                        $list['yesterday'][] = $a_value;
                } else {
                        $theday = sgmdate('Y-m-d', $a_value['dateline']);
                        $list[$theday][] = $a_value;
                }

目的:将要置顶的动态存入$list['up'][]数组中。

3、修改template/default/space_feed.htm:

找到(约80行):

<!--{if $day=='yesterday'}--><h4 class="feedtime">昨天</h4><!--{elseif $day!='today'}--><h4 class="feedtime">$day</h4><!--{/if}-->

修改为:
<!--{if $day=='yesterday'}--><h4 class="feedtime">昨天</h4><!--{elseif $day=='up'}--><h4 class="feedtime"><font color="red">置顶</font></h4><!--{elseif $day=='today'}--><h4 class="feedtime">今日</h4><!--{elseif $day!='today'}--><h4 class="feedtime">$day</h4>
<!--{/if}-->

前台修改完毕。现在开始修改后台,以批量管理及取消置顶。

修改admin/tpl/feed.htm
约66行<tr><td width="25"><input type="checkbox" name="ids[]" value="$value[feedid]"></td><td>后加入:
<!--{if $value['up']}-->【置顶事件】<!--{/if}-->

约76行<input type="submit" name="deletesubmit" value="批量删除" onclick="return confirm('本操作不可恢复,确认删除?');" class="submit">
后加入
<input type="submit" name="upsubmit" value="置顶"  class="submit">
<input type="submit" name="delupsubmit" value="取消置顶"  class="submit">

4、修改文件admin/admincp_feed.php,找到$mpurl = 'admincp.php?ac=feed';(约26行)加入
if(submitcheck('upsubmit')) { //进行置顶操作
        $ids=$_POST['ids'];
        $sql='update  '.$_SC['tablepre'].'feed set up=1 where 1>2 ';
        foreach ($ids as $id){
                $sql.=' or feedid='.$id;
        }
        $query = $_SGLOBAL['db']->query($sql);
        cpmessage('置顶成功', $_POST['mpurl']);
}
if(submitcheck('delupsubmit')) { //取消置顶操作
        $ids=$_POST['ids'];
        $sql='update  '.$_SC['tablepre'].'feed set up=0 where 1>2 ';
        foreach ($ids as $id){
                $sql.=' or feedid='.$id;
        }
        $query = $_SGLOBAL['db']->query($sql);
        cpmessage('取消置顶成功', $_POST['mpurl']);
}

约39行找到  $orders = getorders(array('dateline'), 'feedid DESC'); 修改为:
             $orders = getorders(array('dateline'), 'up desc,feedid DESC'); //添加了up排序。

56行:        $selectsql = 'feedid';修改为 $selectsql = 'feedid,up';

注:56行如果你后台每页显示事件条数小于100可以不修改,如果大于100就需要修改,否则看不到置顶的事件。不方便管理。

更新缓存,在后台------批量管理-----事件中  对事件进行置顶操作,看看首页是不是跟我的一样哦!



首页效果:



后台效果:



本帖子中包含更多资源

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

x

评分

2

查看全部评分

 楼主| scckfzx 发表于 2008-11-10 17:27:31 | 显示全部楼层
本帖最后由 scckfzx 于 2009-2-21 10:43 编辑

已发出具体修改方法
回复

使用道具 举报

wheelyu 发表于 2008-11-10 18:35:35 | 显示全部楼层
((mk13))狂支持。。。((mk13))
回复

使用道具 举报

iostream 发表于 2008-11-10 19:21:22 | 显示全部楼层
支持   我很需要啊~~~~~
回复

使用道具 举报

poplong 发表于 2008-11-10 19:39:15 | 显示全部楼层
麻烦分享下
回复

使用道具 举报

@think 发表于 2008-11-10 19:59:09 | 显示全部楼层
支持   我很需要啊~~~~~
回复

使用道具 举报

fscool 发表于 2008-11-10 20:00:31 | 显示全部楼层
顶啊!  期待楼主分享出来。。。。。。。
回复

使用道具 举报

565g 发表于 2008-11-10 20:20:10 | 显示全部楼层
学习并感谢
回复

使用道具 举报

kongkang 发表于 2008-11-10 20:29:19 | 显示全部楼层
很不错,最近挺活跃,加油哈哈~
回复

使用道具 举报

oliverjing 发表于 2008-11-10 20:32:49 | 显示全部楼层
支持!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 03:43 , Processed in 0.039905 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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