欢迎访问,本站接受互联网网站仿站、功能定制、定制插件、主题,如果需要的话可以联系我 QQ:2283276927

zbp已有模块内容的更新(重建)的两种方法

雨夜 3778次浏览 8个评论

都是以插件的形式实现,以侧栏标签云模块为例

一、对原有模块内容的重写。

(1)首先挂接接口 

 Add_Filter_Plugin('Filter_Plugin_Zbp_Load','BuildModule_Populartags');

(2)接口函数的编写

//热门标签模块重建(开始)
function BuildModule_Populartags()
{
    global $zbp;
    $zbp->RegBuildModule('tags', 'BuildModule_Populartags');
    $s = '';
    $i = $zbp->modulesbyfilename['tags']->MaxLi;
    if ($i == 0)
        $i = 25;
    $array  = $zbp->GetTagList('*', '', array(
        'tag_Count' => 'DESC'
    ), $i, null);
    $array2 = array();
    foreach ($array as $tag) {
        $array2[$tag->ID] = $tag;
    }
    ksort($array2);
    
    foreach ($array2 as $tag) {
        $s .= ' <a href="' . $tag->Url . '" title="' . $tag->Count . '个话题" style="font-size:12px"> ' . $tag->Name . ' </a>';
    }
    
    return $s;
}
//重建热门标签模块结束

启用方法:进入模块管理的tags列表,点击提交就可以移到侧栏使用了。

二、对原有模块内容的直接替换。

(1)挂接接口:

Add_Filter_Plugin('Filter_Plugin_Index_Begin','Tblogpublished');
Add_Filter_Plugin('Filter_Plugin_Search_Begin','Tblogpublisheds');

(2)替换函数的编写:

function Tblogpublished(){
	global $zbp;
	if(isset($zbp->modulesbyfilename['tags'])){
	$zbp->modulesbyfilename['tags']->Content =Tblog_Get_tags();
	}
}
function Tblogpublisheds(){
	global $zbp;
    if(isset($zbp->modulesbyfilename['tags'])){
	$zbp->modulesbyfilename['tags']->Content =Tblog_Get_tags();
	}	
}

(3)新的标签云内容的编写:

function Tblog_Get_tags(){
global $zbp;
$zbp->header .='<script src="'.$zbp->host.'zb_users/plugin/ttyb_newlypublished/js/3D-Tags.js" type="text/javascript"></script>';
$zbp->header .= "<link rel=\"stylesheet\" href=\"{$zbp->host}zb_users/plugin/ttyb_newlypublished/css/3dstyle.css\" type=\"text/css\" />\r\n";
$s = '';
$s.= '<div id="div1">';
	$i = $zbp->modulesbyfilename['tags']->MaxLi;
	if ($i == 0) $i = 25;
	$array = $zbp->GetTagList('*', '', array('tag_Count' => 'DESC'), $i, null);
	$array2 = array();
	foreach ($array as $tag) {
		$array2[$tag->ID] = $tag;
	}
	ksort($array2);
	$clor123=array("tblogred","tblogblack","tblogblue","tblogorange","tblogpink","tblogpurple");
	foreach ($array2 as $tag) {
		$s .= '<a href="' . $tag->Url . '"  class="'.$clor123[rand(0,5)].'" >' . $tag->Name . '(' . $tag->Count . ')</a>';
	}
$s.= '</div>';	
	return $s;
}

+-比较前面两个方法:

到这里已经全部介绍完两种方法,在这里来比较下两个方法:

相同点:

(1)都是可以实现模块内容的更新。

(2)显示数量等可以到模块管理面设置。

不同点:

(1)第一种方法:可以实现启用的时候必须要到模块管理里面管理重写提交下或者新建的tag的时候才能使用(相对tags来说,别的类似),第二种方法可以。

(2)第二种方法的动态内容的实现比较灵活。比如对于新建的模块内容是动态的,要实现动态的更换就会很麻烦。需要来回重写模块。那就费事了。(有点过了。要是介绍新建模块就好了。呵呵,以后介绍。)(可以忽略第二条。)





涂涂研版版权所有,如未注明 , 均为原创,转载需注明出处。
发表我的评论换个身份
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(8) 个小伙伴在吐槽
  1. PHP不错哟
    知道91博客 2014-11-20 AM 12:28 回复
  2. 又是Zblog的博客啊,我也看看Zblog的教程
    知道91博客 2014-11-12 AM 01:44 回复
  3. 很厉害
    厦门心佳馨 2014-11-08 PM 02:39 回复
    • 谢谢夸奖。
      雨夜 2014-11-10 PM 04:12 回复
  4. 完全没看懂啊
    微信公众帐号 2014-11-08 AM 10:25 回复
  5. 现在不怎么喜欢整代码了
    灰常记忆 2014-11-06 PM 10:05 回复
    • 呵呵,弄多了就烦了。
      雨夜 2014-11-06 PM 10:47 回复
      • 我只是用而已
        灰常记忆 2014-11-09 AM 12:28 回复

主题定制开发流程

ZBLOGPHP开发流程

联系我们