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

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前