joomla插件开发.pdf
上传人:sy****28 上传时间:2024-09-14 格式:PDF 页数:22 大小:307KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

joomla插件开发.pdf

joomla插件开发.pdf

预览

免费试读已结束,剩余 12 页请下载文档后查看

16 金币

下载此文档

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

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函数的形式。