界面定制系统概述 原
为了最大程度的提供定制化,我们生成的组件提供一个页面定制系统。默认情况下,一个功能系统会提供5个页面。前台3个页面(数据列表页面,数据详情页面,提交数据表单页面),后台两个页面(数据列表页面,数据管详情表单页面)。通过对这个5个页面进行定制,基本上能够满足大多数的使用情况。
为了最大程度的提供定制化,我们生成的组件提供一个页面定制系统。默认情况下,一个功能系统会提供5个页面。前台3个页面(数据列表页面,数据详情页面,提交数据表单页面),后台两个页面(数据列表页面,数据管详情表单页面)。通过对这个5个页面进行定制,基本上能够满足大多数的使用情况。
Joomla中文网发布组件构造器v2.2.6版本,该版本支持在前台用户提交表单成功后触发通知,可用于发送Email
本文将介绍生成器的设计目标,以及快速的使用组件生成器构造符合自己需要的组件的使用方法。
Joomla中文网发布组件构造器v2.2.3版本,该版本修正了无法在前台上传图片的bug
Joomla中文网发布组件构造器v2.2.14版本,该版本新增加了功能,实现了路由功能
Joomla中文网发布组件构造器v2.2.0版本,该版本支持生成Joomla4的组件。
Joomla中文网发布组件构造器v2.2.13版本,该版本新增加了功能,实现了批处理
模块生成器能够帮我们通过简单的设置,就可以生成一个可正常安装使用模块框架,开发者基于这个模块来写业务逻辑,而不用过多的理会joomla的一些底层的封装细节。
我们的目标就是使用构造器生成一个可供安装的模块,并且熟悉如何进行二次开发。
1,在我的模块中,点击新建,在弹窗的对话框中输入下面的信息(因为只是生成一段模板代码,所以没有什么配置参数),如图:
2,保存后,点击下载按钮,即可获得生成的模块安装包了。截图如下:
在上一步,我们已经得到了一个模块的安装包(zip文件),现在需要将其安装到Joomla网站上,操作的方法和安装扩展的方法一样,下面以Joomla4的安装界面来做简单的操作说明。
登录后台后=>点击系统设置=>找到扩展安装=>在安装界面上传刚刚下载的安装包。如图:
将安装包上传并且安装,成功界面截图如下:
1,在模块管理中即可看到我们新安装的模块。为了方便调试,我们新建一个模块,将类型选择我们刚刚安装的模块,将模块发布到前台。如图:
2,在前台查看效果如下:
到此,说明我们的模块安装成功了。
下一步,我们要做的就是接着开发了。模块的代码路径为:网站根目录\modules\mod_zimgnews(这里是创建模块是输入的名称)
代码文件说明:
mod_zimgnews.xml 为模块的配置文件,前面截图中的参数配置就是在这个文件中。你可以修改或者新增自己的配置
mod_zimgnews.php 为模块入口点文件,无需修改
helper.php 为模块的模型文件,你的主要业务逻辑应该写在这里。在这个文件中写好了注释,照着修改即可。
abstract class ModzimgnewsHelper { /** * 获得模块的展示数据 * * @param \Joomla\Registry\Registry &$params object holding the models parameters * * @return mixed */ public static function getData(&$params) { $limit = $params->get("limit","5");//得到后台设置的p1字段中的值 $data = self::getItems($limit); //在这里写逻辑代码 return $data; } //数据库查询示范 //查询最新的5篇文章 protected static function getItems($limit) { $db = \JFactory::getDBO(); $query = $db->getQuery(true); $query->select("id,title")->from("#__content")->where("state=1"); $query->order("id DESC"); $query->setlimit($limit); $db->setQuery($query); $items = $db->loadObjectList(); return $items; } }
tmpl/default.php 为布局文件,也就是最终的html代码。到了,及时你不用知道joomla是什么也可以按照自己的意愿来创建一个模块了。
<?php defined('_JEXEC') or die; $doc = \JFactory::getDocument(); $basePath = JUri::root()."modules/mod_zimgnews/tmpl/asset/"; $cssPath = $basePath."mod.css"; $doc->addStyleSheet($cssPath);//加载自定义的CSS文件 $jsPath = $basePath."mod.js"; $doc->addScript($jsPath);//加载自定义的jS文件 //在这里写模块的展示代码的HTML代码 ?> <div class="zmod-box"> <h1>示范模块</h1> <ul> <?php foreach($data as $item): //模块入口点里面的变量可以直接使用?> <li> <?php echo $item->title; ?> </li> <?php endforeach;?> </ul> </div>
Joomla中文网发布组件构造器v2.2.12版本,该版本修正了之前版本的若干bug
在做joomla扩展开发的过程中经常需要写一些通用的供joomla安装识别的文件,实际上这些和具体的业务逻辑关系并不大,只是joomla的系统需要。因此,我们打算开发一套代码生成功能,系统能够自动的为我们生产模板代码,我们只需要在对应的地方写上业务逻辑即可,而不用关心joomla本身。
自2020年以来团队内部一直使用这个生成器来生产基础组件模板,插件模板,模块模板,大大的提高了开发效率。特别对于新接触joomla开发的朋友非常友好。