免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2415 | 回复: 1
打印 上一主题 下一主题

Joomla!扩展开发 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-19 21:40 |只看该作者 |倒序浏览
Joomla!扩展开发
http://hi.baidu.com/andycai/blog ... f92f1b4134171b.html

目录

引言   
第一章    Joomla!扩展开发:概况   
为什么扩展Joomla   
自定义 VS 扩展   
如何扩展Joomla   
主题概况   
我们的示例项目   
小结   
第二章    组件开发入门   
Joomla!组件的结构   
执行组件   
Joomla!前后端的分离   
在数据库注册组件   
创建工具栏   
小结   
第三章    后端开发   
创建数据表   
创建数据表类   
创建评论表单   
处理数据   
创建列表   
编辑记录   
删除记录   
小结  
第四章    前端开发   
列出评论   
显示一个评论   
创建搜索引擎友好链接   
添加评论   
显示评论   
小结   
第五章    模块开发   
在数据库注册模块   
创建和配置一个基本模块   
小结   
第六章    扩展项目   
模型、试图、控制器:为什么?   
创建数据模型   
通过控制器交换   
创建评论表单   
重新组织后端代码   
评论的发布控制   
添加分页   
评论管理   
附加工具栏   
小结   
第七章    插件的背后   
数据库查询   
一个简单链接插件   
一个信息箱插件   
搜索评论   
小结   
第八章    配置设置   
在扩展添加参数   
模块的参数   
插件的参数   
组件的参数   
小结   
第九章    打包扩展   
列出所有文件   
打包模块   
打包插件   
打包组件   
包含SQL查询   
创建后端菜单项   
额外的安装脚本   
分发   
小结

第一章        Joomla!扩展开发:概况

你以前开发过动态网站但你的朋友告诉你有关Joomla!的事,所以你决定试一试。从食物网上那些出名的厨师中得到灵感后,你想建立一个简单的关于餐厅的网站。这个网站的安装比你期望要建立的内容管理系统要快速和平稳。

当你找到一个精美的模板并添加了一些菜单和一些内容后,你开始考虑增加一些新的特性可以给你带来更多的访问量,甚至一些钱。之后,你安装了购物车来买书,一个论坛来收集意见和一些边栏广告。

为什么扩展Joomla

       Joomla!不但能够处理内容文章,而且允许你干净地综合各种复杂的应用。开发者为Joomla!开发各种扩展,如购物车、论坛、职位发布等。所有这些扩展能够运行在单个数据库、模板和核心。我们开发出来的扩展,界面是完全统一的。

       当你正确地开发扩展时,你就不用登录数据库和做其他基本的配置。另外,你也可以分发你自己开发的扩展给别人和别人分享,不需要另外的编程和数据库操作。

自定义 VS 扩展

       Joomla!的代码是设计成可扩展的而不是直接修改它的核心代码。当有升级版本或者有补丁的时候,Joomla!会升级它本身的核心代码,而你的扩展你不会被覆盖的。

如何扩展Joomla

Joomla!支持三类扩展,每一类都有特殊的用途。

组件

组件是最基本的,组件就是你所看到的页面的主要部分。Joomla!的设计是来为每个页面加载和运行一个组件。因此,Joomla!核心的内容管理功能本身也是一个组件。

组件经常会有强大的后端管理。后端通常用来创建和更新数据库记录。你也可以用它来允许网站管理员来上传图片或者视频。

模块

       相对组件,一个页面可以有很多的模块。模块一般由边栏的元素或者是内容菜单组成,模块显示组件的内容,它们不是页面的主要内容。Joomla! 也支持不需要编程的内容模块。模块后端的控制是有限制的,一般由基本的格式组成。

插件

       当网站需要插入一些代码来实现某些逻辑,它可以由插件实现(以前叫做Mambot)。插件一般用来格式化页面的组件或者模块的输出。例如有这样的组件,关键字高亮显示、文章评论表单、基于JavaScript的HTML编辑器等。后端的控制与模块相似。

主题概况

创建工具栏和列表

       Joomla!的后端提供了一套标准的工具栏按钮。它们使得界面可以保持一致的风格,所以使用者可以很快地熟悉相应的功能。如果有必要的话,这些按钮可以修改和添加。和标准的工具栏一样,数据库记录的列表也有统一的显示风格。这些列表通常会包括编辑单条记录的链接,改变发布状态的链接和提供自动分页功能。

使用HTML函数来维护一致的外观和减少重复的代码

       在你的扩展里,有各种标准的CSS类名可以用来格式化内容和HTML元素。另外,Joomla!包含很多函数可以自动生成复选框、下拉框和其他通用的元素。

访问数据库和管理记录

       Joomla!提供了一个公用的数据库对象,可以让每个页面的请求只适用一个连接。这个对象提供了一组函数用来查询数据和返回结果。这些函数是独立数据库的,他们被设计成支持一个数据库多Joomla!。除了一个公用的数据库对象,Joomla!还提供了标准的数据库表类。使用它核心的函数可以创建、读取、更新和删除记录。也可以添加这样的逻辑,当父记录被删除,其他表的子记录也会被删除。

安全和获取请求变量的首选方法

       既然Joomla!是一个公开的web 应用,有必要保护他免受攻击。Joomla!提供了只有在框架里被调用的保险的脚本方法,也不会随便地执行。除非是未明的脚本行为,黑客能故意地提交数据来访问你的数据库,Joomla!提供了阻止这类攻击的功能。

菜单项控制

       Joomla!的一个显著的特性是导航与内容分离。然而,如果一个组件创建时没有考虑到这一点,网站管理员可能会不能选择他们的模板和模块。为了利用这给系统,有必要在产生连接时使用既定的菜单项ID数字。组件的链接可以有多个选项,允许在前端显示不同的选择而不用手工去构建长长的URL。

控制组件的逻辑流

       当某一个组件被加载时同一个文件被调用,但是执行不同的函数。Joomla!使用标准的变量来决定每个请求要执行的函数。对于比较小的组件,可以用来从数据库和其它处理函数直接处理输出,比较大的组件会使用controller来处理逻辑流,用model来处理数据访问,用views来控制输出。这样的约定使得维护代码更加容易和帮助组件以更可靠的方式执行。

通过XML进行参数配置

       Joomla!不是通过创建单独的表来处理扩展的配置信息,而是预留了一个字段来处理。变量通过扩展中的XML文件定义。XML文件也提供了默认值和约束这些参数。而且会自动地保存和返回这些值,而不需要手写查询语句。

打包和分发

       一旦所有的代码都编写完成,它是很容易打包给其他人使用的。所有文件的一个列表会被加入到XML文件中。任何需要建立数据表的查询语句也会包含在里面。所有文件被压缩成一个文件,然后这个扩展就可以被任何基于Joomla!的网站安装和使用。

[ 本帖最后由 huayicai 于 2008-3-19 21:53 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-03-20 08:57 |只看该作者
收藏,以后研究,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP