Z-BlogPHP添加自定义模块,添加随机热门模块

SongKer 发布时间:2014-07-13 分类:分享 阅读:3644次 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}获取随机文章列表。

备注:以上完成之后需要生成主题模板,以及最重要的步骤,添加文章或者修改文章。这样才能更新模块内容,不然显示的内容为空。

已有3条留言
  • 访客
    发布于 2018-10-19 16:11:39  回复该评论
  • 一个插件就搞定还用那么麻烦 KandyListS 自定义列表简版 1.2
    • Super
      发布于 2018-10-23 08:29:40  回复该评论
    • 你看看文章的日期4年前,那时候插件比较少。
  • 小众博客
    发布于 2015-10-23 09:20:04  回复该评论
  • 复杂了点,直接在template文件夹下建立文件,在需要的地方用{template:xxxxx}调用就好了。
    {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}

发表评论:

◎欢迎您的参与讨论。