预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

在Joomla!1.5中创建插件 如何创建自己的插件 本文将展示开发你自己的插件所需的基本知识。大部分插件仅包含一个单独的代码文件, 但为了正确地安装插件,Joomla!安装程序(installer)能够识别和处理的安装必须将它打包成 文件。 创建安装文件 同Joomla!的其他扩展附件一样,.zip文件(或.tar.gz文件)的插件安装起来十分容打包成 易,不过安装包中必须包含一个格式正确的XML文件。这里有一个例子,是目录搜索机 器人(categoriessearchbot)插件的XML安装文件: <?xmlversion="1.0"encoding="iso-8859-1"?> <installversion="1.5"type="plugin"group="search"> <name>Categoriessearchbot</name> <author>Joomla!Project</author> <creationDate>November2005</creationDate> <copyright>(C)2005OpenSourceMatters.Allrightsreserved.</copyright> <license>GNU/GPL</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>1.1</version> <description>AllowssearchingofCategoriesinformation</description> <files> <filenameplugin="categories.searchbot">categories.searchbot.php</filename> </files> <params> <paramname="search_limit"type="text"size="5"default="50"label="SearchLimit" description="Numberofsearchitemstoreturn"/> </params> </install> 正如你所看到的,它与其他Joomla!XML安装文件非常相似。你只需找到<install>标签 中的属性group=”xxx”,以及<filename>标签中的信息。这些信息告诉Joomla!这个插件 属于哪一个类别(group),及应当把文件复制到哪个文件夹下。 创建插件 Joomla!1.5提供了一种新的、更符合对象思想的方式来编写插件。为了向前兼容,旧的方 式仍然可以使用(见下一小节)。 <?php //禁止直接访问 defined('_JEXEC')ordie('Restrictedaccess'); //导入所需的库文件 jimport('joomla.event.plugin'); classplg<PluginGroup><PluginName>extendsJPlugin { /** *构造函数 *为兼容php4,我们不能直接使用__constructor作为插件的构架函数,因为func_get_args (void) *返回的是所有参数的拷贝,而不是引用,在交叉引用——这在观察者(observer)设计模式中 是必须的—— *将导致错误。 */ functionplg<PluginGroup><PluginName>(&$subject) { parent::__construct($subject); //loadpluginparameters $this->_plugin=>JPluginHelper::getPlugin('<GroupName>','<PluginName>'); $this->_params=newJParameter($this->_plugin->params); } /** *与事件同名的插件方法将被自动调用。 */ function<EventName>() { global$mainframe; //Plugincodegoeshere. returntrue; } } 创建插件(兼容模式) 这一节中将介绍Joomla!1.5之前的版本中使用的插件编写方法,出于向前兼容的目的,这 种方法目前仍然受支持。部分Joomla!核心插件可能仍然使用这种方式编写,不过随着时 间推移,这些插件将逐步被重写。 你希望在事件触发时执行的代码应该被写成PHP函数的形式。