目录

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 = '<b>demo test</b>';
		$t->Save();
	}
}