在前面的章节,我们简单的了解了一下组件的安装,可以算是一个预热,这接下来的章节我们将正式按照Joomla的代码规范进行组件的代码开发。进入Joomla组件开发的v2.0.0时代
安装v2.0.0版本,初步的了解一下v2.0.0版本的功能以及代码结构
[下载文件:]com_zmaxbookv2.0.0_2020-11-09_for_j3x.zip
下载组件,然后将其安装在joomla上面(安装前先卸载之前的版本)。 安装之后,点击ZMAX图书管理组件进入组件,看到如下的截图:
现在我们的组件看起来和系统的其他组件很相像,感觉开始有点意思了。
4.1 安装初始数据
为了便于讲解,我在安装的时候插入了一些演示数据。要实现这一点并不困难。在前面的章节中已经知道系统在安装的时候会执行我们指定的sql文件(即:install.mysql.utf8.sql),因此在这一版本中对其进行了改进,不单单在这个文件中创建了数据表还添加了初始数据。代码如下:
-- -- 图书表 -- SINCE v1.0.3 -- DATE 2020-10-29 -- DROP TABLE IF EXISTS `#__zmaxbook_item`; CREATE TABLE IF NOT EXISTS `#__zmaxbook_item` ( `id` int(11) NOT NULL AUTO_INCREMENT, /*记录的唯一ID*/ `user_id` int(11) NOT NULL, /*记录拥有者的ID*/ `title` varchar(256) DEFAULT NULL, /*书名*/ `intro` text NOT NULL, /*简介*/ `author` varchar(256) NOT NULL, /*作者*/ `price` FLOAT NOT NULL DEFAULT '0', /*价格*/ `created` datetime NOT NULL, /*创建的时间*/ PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- -- 图书表中的演示数据 `#__zmaxbook_item` -- INSERT INTO `#__zmaxbook_item` (`id`, `user_id`, `title`, `intro`, `author`, `price`, `created`) VALUES (1, 0, 'Joomla建站教程', 'joomla0基础建站教程', '张敏', 19.99, '2020-11-07 00:00:00'), (2, 0, 'Linux入门基础', '深入介绍linux服务器的开发基础', '张敏', 58.88, '2020-11-08 00:00:00'), (3, 0, 'PHP入门指南', 'php入门宝典', '李华', 78.96, '2020-11-09 00:00:00');
4.2 从数据库读取数据并且展示
在进入组件的时候,从数据库中将#__zmaxbook_item表中的数据读取出来,并且以列表的方法来展示。读取数据库的代码大概如下:
/** * 图书列表的管理模型类. * * @since 2.0 */ class zmaxbookModelItems extends JModelList { protected function getListQuery() { //STEP 1:得到数据库的链接对象 $db = JFactory::getDBO(); $query = $db->getQuery(true); $query->select("*")->from("#__zmaxbook_item"); return $query; } }
4.3 使用了典型的MVC架构来组织代码
现在进入组件的安装目录,可以看到目录结构如下:
models 模型文件 views 视图文件 sql 安装SQL脚本文件 helpers 帮助类 controller.php 主控制器文件 zmaxbook.php 入口点文件 zmaxbook.xml 清单文件
整个组件的代码量不大,不到100行,大家可以自己点开每一个文件看看(特别是上面高亮的models,views,controller.php)这几个文件夹。在下一节我们将讲解Joomla组件的MVC执行流程,看看这个页面到底是如何生产的。
评论 (0)