模块生成器能够帮我们通过简单的设置,就可以生成一个可正常安装使用模块框架,开发者基于这个模块来写业务逻辑,而不用过多的理会joomla的一些底层的封装细节。
1,目标:
我们的目标就是使用构造器生成一个可供安装的模块,并且熟悉如何进行二次开发。
2,新建模块
1,在我的模块中,点击新建,在弹窗的对话框中输入下面的信息(因为只是生成一段模板代码,所以没有什么配置参数),如图:
2,保存后,点击下载按钮,即可获得生成的模块安装包了。截图如下:
3,模块安装到我们的Joomla网站上
在上一步,我们已经得到了一个模块的安装包(zip文件),现在需要将其安装到Joomla网站上,操作的方法和安装扩展的方法一样,下面以Joomla4的安装界面来做简单的操作说明。
登录后台后=>点击系统设置=>找到扩展安装=>在安装界面上传刚刚下载的安装包。如图:
将安装包上传并且安装,成功界面截图如下:
4,使用模块
1,在模块管理中即可看到我们新安装的模块。为了方便调试,我们新建一个模块,将类型选择我们刚刚安装的模块,将模块发布到前台。如图:
2,在前台查看效果如下:
到此,说明我们的模块安装成功了。
5,接着开发
下一步,我们要做的就是接着开发了。模块的代码路径为:网站根目录\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>
评论 (0)