Joomla学习,模块如何创建
模块的创建应该分成2个部分。感觉上,Joomla在实现的方面模块主要是用来处理View方面的工作。因为没有什么时间详细研究,好用即可就是标准。至于component的功能是什么现在没有什么感觉,Component能够生成页面,那应该是比module更为全面的吧,module明显具有只是页面某一部分的特点,因为在使用的时候你可以指定该模块显示在页面的某一位置,由index.php指定的位置。
今天青歌手有道题问的是赵州桥,看到图片问中国最古老的石拱桥是什么我也能答上来,但是是李春造的,在河北,并且是隋朝造的还是让人感触万千。希望我们的作品也能如此吧。我们从什么时候开始不注意质量的?我的思路有点问题,一讲下去就跑远了。不过对于作品,特别是软件,还是要了解好我们需要做什么,确保每一步不出现问题。虽然BUG可能还是会有,但是别出大问题吧。;)
说远了,回到模块上,大的上面模块应该有2个部分,即用于界面显示的,放置在modules里的,还有放在administrator/modules里,用来配置模块的管理部分。哦,现在问题有点清楚了,components,应该是用来具体实现功能的吧。(乱讲)比如想做的一个具体信息分类管理,后台采用模块进行分类的管理,前台呢,按我们计划的有分类的列表视图,分类下的信息展示视图,都可以做为页面的内容。再看后台的管理介面,模块中有mod_mainmenu模块用于显示主栏目菜单,而主栏目菜单上的项目由component对应的视图指定,又倒过来了吧,modules->components。反正是分析着玩,等分析完再对照能找得到的文档看看,这活干得也有意思一点。
好,说完这两种模块,即普通模块和管理模块。我们看看做一个普通模块要做什么事情。首先要在/modules下建立一个目录,这个目录就是你想创建的模块了,通常情况下,它具有这样的名字mod_<模块名>。比如我们要做一个用户想要实现的界面功能的收集系统(这个就是我们以后的参照系统吧),目标是这样:每个用户都可以注册一个或者多个项目,每个项目从属于某一个或多个分类,感谢google,我从你们的邮件系统里学到了label方式,就是每个用户可以指定多个标记来说明项目所属的分类。每个项目用户都需要输出项目相关的内容,我们来想一下,项目的描述,项目的规模,当然,用户可以选择这个项目能不能被别人看到,而能被别人看到的内容,网站的运营者应该审核之后才能被看到,这样防止用户把自己的联系方式都直接写上,这样网站就没有办法赢利了。;)然后用户可以将他所策划的功能做以描述,就是填写另外一张表,来说明系统有什么功能,每个功能是怎么回事。难道我要做的是一个需求管理工具?;)好,其实就是这么一回事了。想太多这个模块没法子写了。
创建好目录之后,首先我们需要几个文件,用于描述模块的文件mod_<模块名>.xml,模块的主文件mod_<模块名>.php也应该是模块的控制文件吧,模块的模型文件helper.php,然后是模块的视图目录tmpl,该目录下有default.php作为缺省的视图。Joomla对MVC的设计非常好,可以的是我知道MVC,但是知其然而不知其所以然,因为我一直是实用主义者,可用是首先,就象我虽然了解设计模式,但是并不强求设计模式的严格使用。我向ACE,Boost的作者致敬,但不表示我不崇尚更为敏捷的开发过程。
描述模块的文件我们看看:
-- 安装信息,指明模块的版本
Latest News -- 模块的名称
Joomla! Project -- 作者
July 2004 -- 创建日期
Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
-- 版权信息
http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
-- 采用的协议类型,GPL的后续还可能是什么?
admin@joomla.org
-- 开发者的email地址
www.joomla.org -- 作者的网站地址
1.5.0 -- 这个版本是什么版本?适用于Joomla的版本?
DESCLATESTNEWS
-- 模块的描述信息,相当于商业软件的鼓吹信息
-- 文件列表
mod_latestnews.php
-- 文件的名称
-- 模块的参数
-- 单个参数的内容指定
-- name-参数名 type-参数类型 default-缺省值 label-标签显示内容 description - 参数的相关描述
今天青歌手有道题问的是赵州桥,看到图片问中国最古老的石拱桥是什么我也能答上来,但是是李春造的,在河北,并且是隋朝造的还是让人感触万千。希望我们的作品也能如此吧。我们从什么时候开始不注意质量的?我的思路有点问题,一讲下去就跑远了。不过对于作品,特别是软件,还是要了解好我们需要做什么,确保每一步不出现问题。虽然BUG可能还是会有,但是别出大问题吧。;)
说远了,回到模块上,大的上面模块应该有2个部分,即用于界面显示的,放置在modules里的,还有放在administrator/modules里,用来配置模块的管理部分。哦,现在问题有点清楚了,components,应该是用来具体实现功能的吧。(乱讲)比如想做的一个具体信息分类管理,后台采用模块进行分类的管理,前台呢,按我们计划的有分类的列表视图,分类下的信息展示视图,都可以做为页面的内容。再看后台的管理介面,模块中有mod_mainmenu模块用于显示主栏目菜单,而主栏目菜单上的项目由component对应的视图指定,又倒过来了吧,modules->components。反正是分析着玩,等分析完再对照能找得到的文档看看,这活干得也有意思一点。
好,说完这两种模块,即普通模块和管理模块。我们看看做一个普通模块要做什么事情。首先要在
创建好目录之后,首先我们需要几个文件,用于描述模块的文件mod_<模块名>.xml,模块的主文件mod_<模块名>.php也应该是模块的控制文件吧,模块的模型文件helper.php,然后是模块的视图目录tmpl,该目录下有default.php作为缺省的视图。Joomla对MVC的设计非常好,可以的是我知道MVC,但是知其然而不知其所以然,因为我一直是实用主义者,可用是首先,就象我虽然了解设计模式,但是并不强求设计模式的严格使用。我向ACE,Boost的作者致敬,但不表示我不崇尚更为敏捷的开发过程。
描述模块的文件我们看看:
-- 版权信息
-- 采用的协议类型,GPL的后续还可能是什么?
-- 开发者的email地址
-- 模块的描述信息,相当于商业软件的鼓吹信息
-- 文件的名称
-- 单个参数的内容指定
-- name-参数名 type-参数类型 default-缺省值 label-标签显示内容 description - 参数的相关描述

0 条评论:
发表评论
<< 主页