官方系列教材 - Joomla模块开发教程

介绍在如何从0开发一个模块

现在还有一个地方没有弄明白,就是default.php文件该怎么使用。我们说过mod_alarm.php文件是来处理helper.php文件和default.php文件之间的联系的。看代码:

mod_alarm.php


// no direct access
defined('_JEXEC') or die;

// Include the syndioate function only once
require_once(dirname(__FILE__).DS.'helper.php');

// new a obj
$obj = new modAlarmHelper();
$data = $obj->getData($params);

//require layout
require(JModuleHelper::getLayoutPath('mod_alarm'));
于2014-08-20日修改:这里需要注意getLayoutPath这个函数,这个函数的作用就是加载模块的布局文件。他具有两个参数,第一个是需要加载的模块的名称,第二个是加载该模块的哪一个布局文件。默认为default.php。这就是为什么我们的default.php文件能执行的原因。

helper.php


 

defined('_JEXEC') or die('can not access this file!');

/**
* helper class for alarm module
*/
class modAlarmHelper
{
// get param from module param
    function getData($params)
    {
           $retData= '';

           $showMode = $params->get('inputModel');
           $content = $params->get('content');

           $retData = "showMode value =".$showMode."";
           $retData = $retData ."content value =".$content."";

           return $retData;
     }
}

 

 tmpl\default.php

 

// no direct access
defined('_JEXEC') or die;

echo $data;

说明:


 上面的代码 的执行流程是 在mod_alarm.php文件中,先加载helper类的实现文件,然后new一个helper对象。传递参数$param给helper类的getData()方法,从后台取得数据。然后调用默认的模版文件default.php。最后输出。

于2014-08-20日添加:其实正常情况下我们应该思考一下$param这个参数是怎么来的。这个参数为什么就能代表后台的参数设置。

相比以前的代码,我们只是将输出已到了default.php文件中,没有做过多的改动。值得注意的是 ,default.php是被mod_alarm.php 包含进来的,因此,他们之间可以公用变量。

写到这里基本就和joomla无关了。下面剩下的工作就是一些常规的php代码了。

作者: 樱木花道

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

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前