News模块文章分块排列的解决方案 - 使用问答 - 技术论坛

正在浏览:   1 名游客


 到底部   前一个主题   下一个主题  [无发表权] 请登录或者注册



News模块文章分块排列的解决方案
Support Team
注册日期:
2005/3/21 23:40
所属群组:
注册会员
Dev+Hack
帖子: 124
等级: 10; EXP: 17
HP : 0 / 229
MP : 41 / 763
离线

Xoops真好、、支持自己写代码、、区块里面可以加入PHP程序



既然可以自己写代码、那就没有什么不能完成的了、、:)
将下列代码保存到某个文件里面、比如myfun.php、传到xoops的根目录、、
然后在mainfile.php里面include过来、、include ‘myfun.php’;
然后赶紧去定制自己的PHP区块吧、、效果还是蛮不错的、、
还没吃饭呢、、饿了、、



 


<?
////////////////////////////////代码开始////////////////////////////////
function Showtitle($str,$strlen) {
//这个函数来保证截取字符串不出现乱码(Alpha转载)
 for($i=0;$i<$strlen;$i++)
  if(ord(substr($str,$i,1))>0xa0) $j++;
 if($j%2!=0) $strlen++;
 $str=substr($str,0,$strlen);
 return $str;
}
function ShowArticle($ShowTopicID,$ShowNum=10,$TitleLen=20){
/////////////////////////////////////////////////////////////////////////
//函数功能:实现News模块的文章的分块排列                                /
//$ShowTopicID参数代表News模块的分类(必选参数)                        /
//ShowNum参数代表每个块显示多少篇文章                                   /
//$TitleLen参数代表显示出来文章的标题的长度(多少个字符)                /
//函数用法:                                                            /
//Step1.将此函数Copy到mainfile.php里面即可,当然Copy到其他文件也可以,   /
//前提是能让程序找到,mainfile.php是最保险的地方,页面都要调用这个文件。  /
//Step2.到后台管理页面的区块设置页面,添加一个“定制区块”,在“选项”里面  /
//写入该函数,比如ShowArticle(3,20,20)                                  /
//实现效果:                                                            /
//HttP://WwW.XueVB.Net                                                  /
//作者:Alpha                                                           /
/////////////////////////////////////////////////////////////////////////
////////////////////////////函数开始/////////////////////////////////////
  $XueVB_today=time();
  $XueVB_topicid=$ShowTopicID;
  $XueVB_len=$TitleLen;
  $sql="select * from `".XOOPS_DB_PREFIX."_stories` where `expired`='0' and `topicid`='".$XueVB_topicid."' order by `storyid` desc limit 0,".$ShowNum;
  $result=mysql_query($sql);
   if(!$XueVB_ok = mysql_fetch_object($result)){
    echo "该栏目暂时没有文章";
    }
   else
   {
    do{
     echo "<a href=".XOOPS_URL."/modules/news/article.php?storyid=".$XueVB_ok->storyid." title=".$XueVB_ok->title.">".Showtitle($XueVB_ok->title,$XueVB_len) ."</a>";
     if(strlen($XueVB_ok->title)>$XueVB_len){echo "...";}
     echo "&nbsp;&nbsp;&nbsp;&nbsp;";
     if(($XueVB_today-($XueVB_ok->published))<"86400"){ echo"<font color=red>[".date("n月j日",$XueVB_ok->published)."]</font><br>";}
     elseif(($XueVB_today-($XueVB_ok->published))<"259200"){ echo"<font color=green>[".date("n月j日",$XueVB_ok->published)."]</font><br>";}
     else{ echo"[".date("n月j日",$XueVB_ok->published)."]<br>";}
    }while($XueVB_ok = mysql_fetch_object($result));
   }
   echo "<div align=right><a href=".XOOPS_URL."/modules/news/index.php?storytopic=".$XueVB_topicid.">更多文章....</a></div>";
}
////////////////////////////函数结束/////////////////////////////////////
////////////////////////////代码结束/////////////////////////////////////
?>


2005/9/8 13:03
应用扩展 工具箱


Re: News模块文章分块排列的解决方案
网站管理员
注册日期:
2005/1/3 18:16
所属群组:
网站管理员
注册会员
帖子: 1222
等级: 30; EXP: 41
HP : 294 / 735
MP : 407 / 2900
离线
有没有测试站?看看效果先。

2005/9/8 13:20
_________________
欢迎访问 Aries - 天文观测站

http://www.aries.com.cn
应用扩展 工具箱


Re: News模块文章分块排列的解决方案
Support Team
注册日期:
2005/3/21 23:40
所属群组:
注册会员
Dev+Hack
帖子: 124
等级: 10; EXP: 17
HP : 0 / 229
MP : 41 / 763
离线
http://www.xuevb.net
可以看一下效果、

2005/9/8 13:21
应用扩展 工具箱


Re: News模块文章分块排列的解决方案
网站管理员
注册日期:
2005/1/3 18:16
所属群组:
网站管理员
注册会员
帖子: 1222
等级: 30; EXP: 41
HP : 294 / 735
MP : 407 / 2900
离线
不错不错:)

2005/9/8 13:32
_________________
欢迎访问 Aries - 天文观测站

http://www.aries.com.cn
应用扩展 工具箱


Re: News模块文章分块排列的解决方案
Support Team
注册日期:
2005/4/30 13:09
来自 安徽安庆
所属群组:
注册会员
ComSupp
帖子: 169
等级: 12; EXP: 5
HP : 0 / 276
MP : 56 / 833
离线
感觉还是放在new模块作为区块好些,集合xoops的数据库类,new模块相对应的类,smarty模板,可调cache时间,与xoops整体结合起来。(研究lotus才发现xoops全部开发代码的可贵性,lotus workflow的几个范例关键的80%代码是不知道的)

2005/9/8 14:03
_________________
有奖网
应用扩展 工具箱


Re: News模块文章分块排列的解决方案
初级会员
注册日期:
2005/8/10 16:28
所属群组:
注册会员
帖子: 36
等级: 4; EXP: 76
HP : 0 / 94
MP : 12 / 207
离线
的确厉害.
我一直在想达到这个目的.
昨天想了一下,以为有3个方法可以达到这样的效果.
1,dongweiwei修改的news模块可以在后台设定.
2,利用multimenu估计也是可以的.
3,在区块里面自己写静态的分类.
楼主的办法应该不错,呵呵.

2005/9/8 14:40
应用扩展 工具箱



 回顶部   前一个主题   下一个主题

 [无发表权] 请登录或者注册


可以查看帖子.
不可发帖.
不可回复.
不可编辑自己的帖子.
不可删除自己的帖子.
不可发起投票调查.
不可在投票调查中投票.
不可上传附件.
不可不经审核直接发帖.

[高级搜索]