模块生成器能够帮我们通过简单的设置,就可以生成一个可正常安装使用模块框架,开发者基于这个模块来写业务逻辑,而不用过多的理会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)