====== Z-BlogPHP插件开发小技巧 ======
===== 让插件更新时配置不被覆盖 =====
一般插件需要配置选项时都会使用Z-BlogPHP的选项机制,一个简单的技巧可以保证更新应用时用户配置不被重置,示例代码如下
function InstallPlugin_demo() //启用插件时运行
{
global $zbp;
//Init Config
if(!$zbp->Config('demo')->HasKey('demo_ver')) //判断是否存在demo_ver选项,没有才初始化赋值
{
$zbp->Config('demo')->demo_ver = '0.1';
$zbp->Config('demo')->demo_os = 'demotest';
$zbp->SaveConfig('demo');
}
}
Z-BlogPHP 1.4版本添加了HasConfig方法,用于判断配置是否已创建,使用方法如下
$zbp->HasConfig('demo')
===== 防止重复创建自定义模块 =====
Z-BlogPHP 1.3版本以下的模块创建机制没有检查重名问题,其实简单判断下即可,示例代码如下
function demo_create_functions()
{
global $zbp;
if(!isset($zbp->modulesbyfilename['demo_module'])) //检查系统中是否已有该模块,没有则创建
{
$t = new Module();
$t->Name = "演示模块";
$t->FileName = "demo_module";
$t->Source = "plugin_demo";
$t->SidebarID = 0;
$t->Content = "";
$t->HtmlID = "demo_module";
$t->Type = "div";
$t->Content = 'demo test';
$t->Save();
}
}