ZblogPHP添加自定义模块,添加随机文章模块,热门文章模块教程。折腾博客主题的时候想要添加两个文章模块,一个随机文章列表,一个热门文章列表。在Zblog应用中心未找到php版本的类似插件,而asp版本倒是不少。网上查了下教程直接修改的系统的文件,我整理成了自己想要的模块。教程及代码如下:
该方法不是使用的插件,直接修改的系统文件。
1、打开zb_system\function\c_system_event.php。
Z-BlogPHP添加热门文章模块
//查找 $zbp->AddBuildModule('previous'); 在后面添加
$zbp->AddBuildModule('sjarticles');
//查找 $zbp->AddBuildModule('previous'); 在后面添加
$zbp->AddBuildModule('sjarticles');
Z-BlogPHP添加随机文章模块
//查找 $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}获取随机文章列表。
备注:以上完成之后需要生成主题模板,以及最重要的步骤,添加文章或者修改文章。这样才能更新模块内容,不然显示的内容为空。
via 顾陌博客