- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简介
Joomla!的插件功能强大,增强了系统的功能和可变性。如 同模块之于增强输出,插件主要用于对数据的预处理和事件的相应。比如在多系统中实现同步登陆等。本教程将教您自己动手 DIY 一个 Joomla!的插件。
插件类型
Joomla!的插件类型繁多,核心的插件类型主要可以分为以下几类(在Joomla!的 安装目录的 plugin 可看到相应文件夹)。
authentication
content
editors
editors-xtd
search
system
user
xmlrpc
Authentication:用于不同资源的使用认证,默认的如果你要登陆 Joomla!站 点,你必须通过 Joomla!数据库里的用户认证。只要任何资源拥有公开的 API,你就可以开发认 证插件用于认证。
Content:用于文章内容的输出显示,在本文的实例中,将开发一个这种类型 的插件,用于输出当前时间。
Editors:用于新增一个编辑器,通常是可见即可得的(WYSIYWG)。
Editors-xtd:编辑器扩展(editors-extend),用 于新增编辑器按钮,如图片,视屏等按钮。
Search:当使用搜索组件搜索时,将触发相应搜索事件。
System:主要用于控制Joomla!在执行 PHP 代 码时的行为。
User:用于相应用户事件的插件,如用户登陆、保存用于等。
Xmlrpc:提供 Xml-rpc 网络服务时的插 件。
实 例
下面以实际开发一个插件作为实例讲解。
一.注册
使用 SQL 语句,往数据库里添加一个 插件,名为 TPlugin.
查看 Joomla!的插件管理器,可以发现已经添加了该插件。根据信息可知此插件的源文 件名称为 TPlugin,且已发布。
二.创建插件源代码 (推荐模式)
此模式是 支持面向对象(OO)的开发模式,Joomla!推荐使用该模式在 Joomla!的 安装目录下的 plugin/content 下新增一个名为
TPlugin.php 的文件。
之后打开该目录下的 example.php,复制其中的内容到 TPlugin.php,并把其中的类名和构造函数从原来的 plgContentExample 改 为plgContentTPlugin。
修改其中的 onAfterDisplayTitle 方 法为
要注意的是类名、构造函数名需一直,其中类名的插件名部分必须和 SQL 语句中的elmenet 和php 文 件的名称以及之后xml 文件中的filename 中的plugin 元素 一致。
此函数的意义为文章的标题显示完以后将触发该事件。Joomla!内 置了很多基本事件,你可以通过查看各个插件类型下的 example.php 了解。比如这里内容插件 content 目 录下的事件就分为
onPrepareContent
onAfterDisplayTitle
onBeforeDisplayContent
onBeforeContentSave (new in 1.5.4)
onAfterContentSave (new in 1.5.4)
其它插件分类的事件列表 如下:
Authentication
onAuthenticate Editors
onInit
onGetContent
onSetContent
onSave
onDisplay
onGetInsertMethod
Editors XTD (Extended)
onDisplay Seach
onSearch
onSearchAreas
System
onAfterInitialise
onAfterRoute
onAfterDispatch
onAfterRender
User
onLoginUser
onLoginFailure
onLogoutUser
onLogoutFailure
onBeforeStoreUser
onAfterStoreUser
onBeforeDeleteUser
onAfterDeleteUser
XML-RPC
onGetWebServices
三.创建插件源代码(兼容模式)
该方法创建的插件在当前 仍在使用中,但将被逐步以面向对象的方法重写。
首先取得一个 mainframe 对象,当注册一个onAfterDisplayTitle事件,当该事件被触发时,将调用 pluginTPlugin()函数。
四.创建 xml 安装文件
新建一个 TPlugin.xml 的文件,并从 example.xml 中复制全 部内容到 TPlugin.xml
注意 install 标 签中的 grounp 元素代表插件的类型。Files 标签的自标签
filename 中 的属性 plugin 为标签的
您可能关注的文档
最近下载
- 2025年2月党支部“三会一课”会议记录模板(详版).docx VIP
- ISO 9001(DIS)-2026《质量管理体系——要求》(含附录使用指南-中文版-雷泽佳译-2025年9月10日).pdf VIP
- 番茄收获机的设计.doc VIP
- 2025小红书电商双11-大健康保健品行业运营指南.pptx VIP
- 培智六年级上册人教版生活语文第6课《勤劳的双手》4课时教案.doc VIP
- 我爱你中国F调正谱伴奏艺术歌曲.pdf VIP
- 3.2细胞器之间的分工合作 课件(共26张PPT) 人教版(2025)高中生物学必修1(含音频+视频).ppt VIP
- 抗病毒治疗(国家免费艾滋病抗病毒药物治疗手册(第5版)课件).pptx VIP
- 日常生活活动能力评定量表.docx VIP
- 2025年管理百年南昌大学章节答案和期末答案.docx VIP
原创力文档


文档评论(0)