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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 首页添加同城异性动态方法

[复制链接]
c4m 发表于 2009-6-9 14:44:08 | 显示全部楼层 |阅读模式
本帖最后由 c4m 于 2009-6-9 16:33 编辑

先前一个站长(ahqueer)让我帮他实现“同城异性动态”功能,由于最近事情比较多延误至今,说声抱歉,现将代码发放到这里供大家共享,本人支持共享,希望大家网站越做越好,呵呵

示范站点:http://www.86112.com
言归正传,实现方法如下:
1 打开 ./source/space_feed.php
1) 查找:
  1. //分页
  2. $perpage = $_SCONFIG['feedmaxnum']<50?50:$_SCONFIG['feedmaxnum'];
  3. $start = empty($_GET['start'])?0:intval($_GET['start']);
复制代码
在其上面添加:
  1. //同城异性动态
  2. $samecityuid = "";
  3. $query = $_SGLOBAL['db']->query("SELECT uid FROM ".tname('spacefield')." WHERE residecity = '".$space['residecity']."' AND sex != '".$space['sex']."' AND sex !=0");
  4. while($value = $_SGLOBAL['db']->fetch_array($query)){
  5.         $samecityuid .=$value[uid].",";
  6. }
  7. $samecityuid = substr($samecityuid,0,strlen($samecityuid)-1);
复制代码
2) 查找:
  1. //默认动态类型
  2. if($_SCONFIG['my_status'] && $_SCONFIG['feeddefaultfilter'] && empty($_GET['filter'])) {
  3.         $_GET['filter'] = $_SCONFIG['feeddefaultfilter'];
  4. }
复制代码
在下面添加:
  1. if(empty($_GET['view'])){
  2.         $_GET['view'] = 'all';
  3. }
复制代码
3) 查找:
  1. //默认动态类型
  2. if($_SCONFIG['my_status'] && $_SCONFIG['feeddefaultfilter'] && empty($_GET['filter'])) {
  3.         $_GET['filter'] = $_SCONFIG['feeddefaultfilter'];}
复制代码
将其替换为:
  1. //默认动态类型
  2. if($_SCONFIG['my_status'] && $_SCONFIG['feeddefaultfilter'] && empty($_GET['filter'])) {
  3.         $_GET['filter'] = $_SCONFIG['feeddefaultfilter'];
  4.         $_GET['view'] = $_SCONFIG['feeddefaultfilter'];
  5. }
复制代码
}[/code]
4) 查找:
  1. if($_GET['view'] == 'all') {
  2.         $wheresql = "friend='0'";//没有隐私
  3.         $theurl = "space.php?uid=$space[uid]&do=$do&view=all";
  4.         $f_index = '';
  5. } else {
  6.         if(empty($space['feedfriend'])) {
  7.                 $wheresql = "uid='$space[uid]'";
  8.                 $theurl = "space.php?uid=$space[uid]&do=$do&view=me";
  9.                 $f_index = '';
  10.                 $_GET['view'] = 'me';
  11.         } else {
  12.                 $wheresql = "uid IN ('0',$space[feedfriend])";
  13.                 $theurl = "space.php?uid=$space[uid]&do=$do&view=we";
  14.                 $f_index = 'USE INDEX(dateline)';
  15.                 $_GET['view'] = 'we';
  16.                 $notime = 1;
  17.         }
  18. }
复制代码
将其替换为:
  1. if($_GET['view'] == 'city'){
  2.         if(!empty($samecityuid)) {
  3.                 $wheresql = "uid IN ('0',$samecityuid)";
  4.                 $theurl = "space.php?uid=$space[uid]&do=$do";
  5.                 $_GET['view'] = 'city';
  6.         }else{
  7.                 $wheresql = "uid < 0";
  8.                 $theurl = "space.php?uid=$space[uid]&do=$do";
  9.         }
  10. }else {
  11.         if($_GET['view'] == 'all') {
  12.                 $wheresql = "friend='0'";//没有隐私
  13.                 $theurl = "space.php?uid=$space[uid]&do=$do";
  14.                 $f_index = '';
  15.         } else {
  16.                 if(empty($space['feedfriend'])) {
  17.                         $wheresql = "uid='$space[uid]'";
  18.                         $theurl = "space.php?uid=$space[uid]&do=$do";
  19.                         $f_index = '';
  20.                         $_GET['view'] = 'me';
  21.                 } else {
  22.                         $wheresql = "uid IN ('0',$space[feedfriend])";
  23.                         $theurl = "space.php?uid=$space[uid]&do=$do";
  24.                         $f_index = 'USE INDEX(dateline)';
  25.                         $_GET['view'] = 'we';
  26.                         $notime = 1;
  27.                 }
  28.         }
  29. }
复制代码
5)查找:
  1. $my_actives = array(in_array($_GET['filter'], array('site','myapp'))?$_GET['filter']:'all' => ' class="active"');
  2. $actives = array(in_array($_GET['view'], array('me','all'))?$_GET['view']:'we' => ' class="active"');
复制代码
将其替换为:
  1. $my_actives = array(in_array($_GET['filter'], array('site','city','myapp'))?$_GET['filter']:'all' => ' class="active"');
  2. $actives = array(in_array($_GET['view'], array('me','city','all'))?$_GET['view']:'we' => ' class="active"');
复制代码
2 打开 ./tempalte/default/space_feed.htm
1) 查找:
  1.                         <li id="viewall" onmouseover="showMenu(this.id)"{$my_actives[all]}><a href="$theurl&filter=all"><span>全部动态 <img src="image/tri.gif" alt="" /></span></a></li>
  2.                         <li id="viewsite" onmouseover="showMenu(this.id)"{$my_actives[site]}><a href="$theurl&filter=site"><span>站内 <img src="image/tri.gif" alt="" /></span></a></li>
  3.                         <li id="viewmyapp" onmouseover="showMenu(this.id)"{$my_actives[myapp]}><a href="$theurl&filter=myapp"><span>应用 <img src="image/tri.gif" alt="" /></span></a></li>
复制代码
将其替换为:
  1.                         <li id="viewcity" {$my_actives[city]}><a href="$theurl&view=city&filter=city"><span>同城异性的动态</span></a></li>
  2.                         <li id="viewall" onmouseover="showMenu(this.id)"{$my_actives[all]}><a href="$theurl&view=all&filter=all"><span>全部动态 <img src="image/tri.gif" alt="" /></span></a></li>
  3.                         <li id="viewsite" onmouseover="showMenu(this.id)"{$my_actives[site]}><a href="$theurl&view=all&filter=site"><span>站内 <img src="image/tri.gif" alt="" /></span></a></li>
  4.                         <li id="viewmyapp" onmouseover="showMenu(this.id)"{$my_actives[myapp]}><a href="$theurl&view=all&filter=myapp"><span>应用 <img src="image/tri.gif" alt="" /></span></a></li>
复制代码
2) 查找:
  1. <li$actives[we]><a href="space.php?do=home&view=we"><span>好友的动态</span></a></li>
复制代码
在其上面添加:
  1. <li$actives[city]><a href="space.php?do=home&view=city"><span>同城的动态</span></a></li>
复制代码
3 打开:./admin/tpl/config.htm
查找:
  1. <option value="all">全部动态</option>
复制代码
在其下面添加:
  1. <option value="city"{$feeddefaultfilterselect[city]}>同城异性动态</option>
复制代码
4 登陆uchome后台,点击基本设置--> 站点设置 设置 “首页动态默认显示设置”,可以选择 “同城异性动态”,
注:这个设置的目的是登录进首页后,显示的默认状态
5 进入后台更新缓存,如有问题 QQ:359513995

本帖子中包含更多资源

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

x

评分

3

查看全部评分

ahqueer 发表于 2009-6-9 14:47:14 | 显示全部楼层
呵呵,兄弟不知道说什么好。
回复

使用道具 举报

ahqueer 发表于 2009-6-9 15:18:37 | 显示全部楼层
调示成功,但默认会显示所有好友动态。
回复

使用道具 举报

 楼主| c4m 发表于 2009-6-9 15:20:09 | 显示全部楼层
3# ahqueer

你那个是本地调试,等你上传到服务器,开通manyou就好了
呵呵
回复

使用道具 举报

qyl3qyl3 发表于 2009-6-9 19:28:14 | 显示全部楼层
路过支持下
回复

使用道具 举报

ahqueer 发表于 2009-6-9 21:29:56 | 显示全部楼层
一切OK,大家支持
回复

使用道具 举报

liucanyu 发表于 2009-6-9 22:39:07 | 显示全部楼层
不错不错不错不错
回复

使用道具 举报

 楼主| c4m 发表于 2009-6-10 08:47:24 | 显示全部楼层
5# qyl3qyl3

谢谢支持~
回复

使用道具 举报

zhb80217 发表于 2009-6-14 18:53:37 | 显示全部楼层
真是太感谢了,找了很久了。谢谢!
回复

使用道具 举报

hs999 发表于 2009-6-24 20:21:31 | 显示全部楼层
  1. //默认动态类型
  2. if($_SCONFIG['my_status'] && $_SCONFIG['feeddefaultfilter'] && empty($_GET['filter'])) {
  3.         $_GET['filter'] = $_SCONFIG['feeddefaultfilter'];
  4. }
复制代码


找不到
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 02:33 , Processed in 0.030490 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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