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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 【视频展厅】关于在论坛其他页面调用最新视频【2种方法】交流QQ群:13834101

[复制链接]
与龙共舞 发表于 2011-10-14 07:15:47 | 显示全部楼层 |阅读模式
本帖最后由 与龙共舞 于 2011-10-15 08:01 编辑

首先请关注一下小站 www.yaotiao.tv  交流QQ群:13834101
以发布在论坛首页为例,找到source\module\forum\forum_index.php文件
找到
  1. require_once libfile('function/forumlist');
复制代码
加入
  1. /**-----调用最新视频------**/
  2. define('PDIR', 'plugin.php?id=vgallery:vgallery');
  3. define('MDIR', 'source/plugin/vgallery/images');
  4. //最新视频
  5.         $query = DB::query("SELECT n.*, t.views as views2, t.replies  FROM hsk_vgallerys n
  6.          LEFT JOIN ".DB::table('forum_thread')." t ON t.tid=n.tid
  7.          where album=0 and audit=1 ORDER BY id desc limit 4");
  8.         while($topdata = DB::fetch($query)){
  9.                 $topdata['vsubjectc'] = cutstr($topdata['vsubject'], 20, '..');
  10.                 $topdata['timelong'] = checkthetime($topdata['timelong']);
  11.                 $topdata['views'] = $topdata['views2'] ? $topdata['views2'] : $topdata['views'];
  12.                 $topdata['polls'] = $topdata['views2'] ? $topdata['replies'] : $topdata['polls'];
  13.                 $topdata['valuate'] = sprintf("%01.1f", $topdata['valuate']/100);
  14.                 if(substr($topdata['purl'],0,7) != 'http://'){
  15.                         $thepicurl = DISCUZ_ROOT.$topdata['purl'];
  16.                         if(!file_exists("$thepicurl") || !$topdata['purl']){
  17.                                 $topdata['purl'] = "./".MDIR."/noimages.gif";
  18.                         }
  19.                 }
  20.                 $index_newtop[] = $topdata;
  21.         }
  22.         function checkthetime($val){
  23.         if(!$val){
  24.                 return "00'00";
  25.         }else{
  26.                 $a = floor($val/60);
  27.                 if(strlen($a)<=2){
  28.                         $a = substr("00", 0, 2-strlen($a)).$a;
  29.                 }
  30.                 $b = $val%60;
  31.                 $c = $a.":".substr("00", 0, 2-strlen($b)).$b;
  32.                 return $c;
  33.         }
  34. }
  35. /**-----调用最新视频end------**/
复制代码
然后在相应的模板文件加入,所谓的相应模板在这里,以默认模板为例应是template\default\forum下的discuz.htm文件一般加在
  1. <!--{subtemplate common/header}-->
复制代码
下即可,其他位置自行设置。
  1. <!--{loop $index_newtop $datarow}-->
  2.                                 <div style="width:730px;">
  3.                                 <div style="width:178px;float:left;">                                                                        
  4.                                 <p style="margin-top:5px;"><a href="{PDIR}&tion=view&vid=$datarow[id]" title="$datarow[vsubject]"><img src="$datarow[purl]" width="150" height="113" border="0" class="imgborder"></a><em2><span class="duration">$datarow['timelong']</span><span class="em_r" >$datarow['valuate']分</span></em2>
  5. </p>
  6.                                                                                 
  7.                                 <p style="width:155px;text-align:left;"><a href="{PDIR}&tion=view&vid=$datarow[id]" class="xi2" title="$datarow[vsubject]">$datarow[vsubjectc]</a></p>
  8.                                 <p style="width:155px;text-align:left;"><img src="{MDIR}/views.gif" border="0" align="absmiddle" title="播放"><span class="nums"> $datarow[views]</span> <img src="{MDIR}/polls.gif" border="0" align="absmiddle" title="评论"><span class="nums"> $datarow[polls]</span><span class="y"></span></p></div></div>
  9.         <!--{/loop}-->
复制代码
我的已经是经过二次修改的了,童鞋们可以自行根据需求修改
另外告诉不懂代码的同学
  1. $query = DB::query("SELECT n.*, t.views as views2, t.replies  FROM hsk_vgallerys n
  2.          LEFT JOIN ".DB::table('forum_thread')." t ON t.tid=n.tid
  3.          where album=0 and audit=1 ORDER BY id desc limit 4");
复制代码
sql语句中的limit 4 可以修改调用视频的数量 默认为4
===================================方法2=================================
修改vgallery.inc.php文件  
找到
  1. }
  2.                 $index_newtop[] = $topdata;
  3.         }
复制代码
在下面加入
  1. //最新视频-作为其他页面调用
  2.         $query = DB::query("SELECT n.*, t.views as views2, t.replies  FROM hsk_vgallerys n
  3.          LEFT JOIN ".DB::table('forum_thread')." t ON t.tid=n.tid
  4.          where album=0 and audit=1 ORDER BY id desc limit 4");
  5.          $i = 0;
  6.         while($topdata = DB::fetch($query)){
  7.                 $topdata['vsubjectc'] = cutstr($topdata['vsubject'], 20, '..');
  8.                 $topdata['timelong'] = checkthetime($topdata['timelong']);
  9.                 $topdata['views'] = $topdata['views2'] ? $topdata['views2'] : $topdata['views'];
  10.                 $topdata['polls'] = $topdata['views2'] ? $topdata['replies'] : $topdata['polls'];
  11.                 $topdata['valuate'] = sprintf("%01.1f", $topdata['valuate']/100);
  12.                 if(substr($topdata['purl'],0,7) != 'http://'){
  13.                         $thepicurl = DISCUZ_ROOT.$topdata['purl'];
  14.                         if(!file_exists("$thepicurl") || !$topdata['purl']){
  15.                                 $topdata['purl'] = "./".MDIR."/noimages.gif";
  16.                         }
  17.                 }
  18.                 $index_newtop_dy[] = $topdata;

  19.                         $cache_str .= "\t".$i."\t=>\t array(\t'vsubjectc'=>'".$topdata['vsubjectc']."',\t'timelong'=>'".$topdata['timelong']."',\t'views'=>'".$topdata['views']."',\t'polls'=>'".$topdata['polls']."',\t'purl'=>'".$topdata['purl']."',\t'id'=>'".$topdata['id']."'),\n";
  20.                         $i++;
  21.         }
  22.        //缓存
  23.                 if(file_exists(DISCUZ_ROOT.'./data/cache/vgallery_newtop_dy.hsk')){
  24.                         @require DISCUZ_ROOT.'./data/cache/vgallery_newtop_dy.hsk';
  25.                 }else{
  26.                         //如果没有文件,那么写入
  27.             $cache_str = "\$vgallery_newtop_dy = array(".$cache_str.");";
  28.                 writetocache("vgallery_newtop_dy", $cache_str);
  29.                 }
复制代码
找到source\module\forum\forum_index.php文件
找到
  1. require_once libfile('function/forumlist');
复制代码
下加入
  1. define('PDIR', 'plugin.php?id=vgallery:vgallery');
  2. define('MDIR', 'source/plugin/vgallery/images');
  3. if(file_exists(DISCUZ_ROOT.'./data/cache/vgallery_newtop_dy.hsk')){
  4.         @require DISCUZ_ROOT.'./data/cache/vgallery_newtop_dy.hsk';
  5. }
复制代码
然后在相应的模板文件加入 所谓的相应模板在这里,以默认模板为例应是template\default\forum下的discuz.htm文件
一般加在
<!--{subtemplate common/header}-->

下即可,其他位置自行设置。

  1. <!--{loop $vgallery_newtop_dy $datarow}-->
  2.                                 <div style="width:730px;">
  3.                                 <div style="width:178px;float:left;">                                                                        
  4.                                 <p style="margin-top:5px;"><a href="{PDIR}&tion=view&vid=$datarow[id]" title="$datarow[vsubject]"><img src="$datarow[purl]" width="150" height="113" border="0" class="imgborder"></a><em2><span class="duration">$datarow['timelong']</span><span class="em_r" >$datarow['valuate']分</span></em2>
  5. </p>
  6.                                                                                 
  7.                                 <p style="width:155px;text-align:left;"><a href="{PDIR}&tion=view&vid=$datarow[id]" class="xi2" title="$datarow[vsubject]">$datarow[vsubjectc]</a></p>
  8.                                 <p style="width:155px;text-align:left;"><img src="{MDIR}/views.gif" border="0" align="absmiddle" title="播放"><span class="nums"> $datarow[views]</span> <img src="{MDIR}/polls.gif" border="0" align="absmiddle" title="评论"><span class="nums"> $datarow[polls]</span><span class="y"></span></p></div></div>
  9.         <!--{/loop}-->
复制代码

第2种方法为调用缓存,必须要首先运行视频展厅的首页才会有数据。
ilei365 发表于 2011-10-14 07:30:13 | 显示全部楼层
感谢分享。。
回复

使用道具 举报

haoshoe 发表于 2011-10-14 07:38:33 | 显示全部楼层
哇,这个好,支持。
回复

使用道具 举报

ni03 发表于 2011-10-14 07:48:34 | 显示全部楼层
学习学习!!!!
回复

使用道具 举报

 楼主| 与龙共舞 发表于 2011-10-14 10:11:39 | 显示全部楼层
有什么问题 大家一起讨论
回复

使用道具 举报

xiaoyuhsj 发表于 2011-10-14 12:22:15 | 显示全部楼层
相应的模版指的是什么
回复

使用道具 举报

牛油果 发表于 2011-10-14 14:33:37 | 显示全部楼层
有图好调用~~~~~
回复

使用道具 举报

 楼主| 与龙共舞 发表于 2011-10-14 14:56:25 | 显示全部楼层
xiaoyuhsj 发表于 2011-10-14 12:22
相应的模版指的是什么

比如 你在论坛首页调用  就先要找论坛首页的相关PHP文件 再找论坛首页的模板文件
回复

使用道具 举报

a23742212 发表于 2011-10-14 14:57:53 | 显示全部楼层
路过的
回复

使用道具 举报

blg2003 发表于 2011-10-14 15:10:46 | 显示全部楼层
学习学习!!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 09:21 , Processed in 0.029177 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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