ZBLOG主题开发之自定义模块定义
5个月前
我们在使用ZBLOG PHP程序的时候,或者常规的主题时候侧栏都是固定的版块。我们是否可以自定义一些模块,然后去实现呢?比如我们要设置某个指定样式的模块,然后去在激活主题的时候自带进来。我们看看如何实现的
//自定义模块
function xm_CreateModule(){
global $zbp;
if(!isset($zbp->modulesbyfilename['demo_module'])) //检查系统中是否已有该模块,没有则创建
{
$t = new Module(); //实例化模块
$t->Name = "演示模块"; //模块名称
$t->FileName = "demo_module"; //模块文件名
$t->Source = "plugin_demo"; //模块属性("plugin_"为插件模块,“theme_”为主题模块,不晓得对不对)
$t->SidebarID = 0;
$t->HtmlID = "demo_module"; //htmlID
$t->Type = "div"; //模块类型
$t->Content = '<b>demo test</b>'; //模块内容
$t->Save();
}
}
创建自定义模块代码。
//初始化主题配置
function InstallPlugin_xm(){
//这里调用上面定义的模块函数
xm_CreateModule();
}
下面是停用主题的时候删除自定义模块的方法
//卸载主题时判断是否删除自定义模块
function XM_DelModule()
{
global $zbp;
$modules = array('demo1_module', 'demo_module');//此处填写自定义模块的文件名
$w = array();
$w[] = array('IN', 'mod_FileName', $modules);
$modules = $zbp->GetModuleList(array('*'),$w);
foreach ($modules as $item) {
$item->Del();
}
}
注意下面这段代码是模板停止时候执行的代码
//停止模板时候执行的函数
function UninstallPlugin_XM() {
XM_DelModule();
}
然后在我们当前主题的include.php页面中找到上面代码,然后添加进来,如果没有的话自己定义。然后我们可以在当前主题重新激活安装后在"模块管理-插件创建模块"可以看到创建的模块,当然我们可以自己更换需要的功能和样式。