SongKer 发布时间:2014-07-13 分类:分享 阅读:8010次 3 条评论
Z-BlogPHP添加自定义模块,添加随机文章模块,热门文章模块教程。自己在做这个博客主题的时候想要添加两个文章模块,一个随机文章列表,一个热门文章列表。在z-Blog应用中心未找到php版本的类似插件,而asp版本倒是不少。网上查了下教程直接修改的系统的文件,我整理成了自己想要的模块。教程及代码如下:
该方法不是使用的插件,直接修改的系统文件。
1、打开zb_system\function\c_system_event.php。
热门文章
//查找 $zbp->AddBuildModule('previous'); 在后面添加
$zbp->AddBuildModule('sjarticles');
//查找 $zbp->AddBuildModule('previous'); 在后面添加
$zbp->AddBuildModule('sjarticles');
随机文章
//查找 $zbp->AddBuildModule('previous'); 在后面添加
$zbp->AddBuildModule('randarticles');
//查找 $zbp->AddBuildModule('previous');在后面添加
$zbp->AddBuildModule('randarticles');
在该文件的最后添加
//热门文章 ,按照文章浏览量排序 function BuildModule_sjarticles(){ global $zbp; $i = $zbp->modulesbyfilename['sjarticles']->MaxLi; if ($i == 0) $i = 10; $articles = $zbp->GetArticleList('*', array(array('=', 'log_Type', 0), array('=', 'log_Status', 0)), array('log_ViewNums' => 'DESC'), $i, null,false); $s = ''; foreach ($articles as $article) { $s .= '<li><a href="' . $article->Url . '">' . $article->Title . '</a></li>'; } return $s; }
//随机文章 function BuildModule_randarticles(){ global $zbp; $i = $zbp->modulesbyfilename['randarticles']->MaxLi; if ($i == 0) $i = 10; $articles = $zbp->GetArticleList('*', array(array('=', 'log_Type', 0), array('=', 'log_Status', 0)),array('rand()'=>' '), $i, null,false); $s=''; foreach ($articles as $article) { $s .= '<li><a href="' . $article->Url . '" title="' . $article->Title . '">' . $article->Title . '</a></li>'; } return $s; }
2、打开zb_system\function\lib\zblogphp.php。
$this->RegBuildModule('previous','BuildModule_previous');后面添加
$this->RegBuildModule('sjarticles','BuildModule_sjarticles');
$this->RegBuildModule('previous','BuildModule_previous');后面添加
$this->RegBuildModule('randarticles','BuildModule_randarticles');
3、数据库添加数据:
在zbp_module表,添加新数据。“15,热门文章,sjarticles,0,divsjarticles,ul,0,system,0”
在zbp_module表,添加新数据。“16,随机文章,randarticles,0,divrandarticles,ul,0,system,0”
4、调用方法:在相应z-blog主题模板地方调用{$modules['sjarticles'].Content}获取热门文章列表,调用{$modules['randarticles'].Content}获取随机文章列表。
备注:以上完成之后需要生成主题模板,以及最重要的步骤,添加文章或者修改文章。这样才能更新模块内容,不然显示的内容为空。
发布于 2018-10-19 16:11:39 回复该评论
发布于 2018-10-23 08:29:40 回复该评论
发布于 2015-10-23 09:20:04 回复该评论
{php}
$stime = time();
$ytime = 30*24*60*60;
$ztime = $stime-$ytime;
$order = array('log_CommNums'=˃'DESC');
$where = array(array('=','log_Status','0'),array('˃','log_PostTime',$ztime));
$array = $zbp-˃GetArticleList(array('*'),$where,$order,array(10),'');
{/php}
{foreach $array as $cmslist}
{$cmslist.Title}
{/foreach}
发表评论:
◎欢迎您的参与讨论。