教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 开发一个简单的Joomla模块插件教程

开发一个简单的Joomla模块插件教程

发布时间:2023-05-10   编辑:jiaochengji.com
教程集为您提供开发一个简单的Joomla模块插件教程等资源,欢迎您收藏本站,我们将为您提供最新的开发一个简单的Joomla模块插件教程资源
Joomla!是一套在国外相当知名的PHP开发的免费开源的内容管理系统,在中国的使用也越来越多了,现在我们来通过一个简单的Joomla模块插件开发来学习Joomla的开发模式。

如何开发一个Joomla模块插件

利用M-V-C机制巧妙的架构

笔者一再的强调,Joomla!1.5是一个很成功的以MVC模型开发的CMS,除了作为核心系统的Control层,其他都是可以由开发者自行扩展的,以下我们就来看看究竟是怎么运作。

再继续以前,希望读者能够有一点点基本的php对象语法概念,或者可以拿一本相关书籍放在手边,随时查阅。

module/mod_MyMod/mod_MyMod.xml

我们稍微修改一下上一篇的注册安装档中参数的部分,修改如下:

<params>
  <param name="@spacer" type="spacer" default="" label="" description="" />
  <param name="myParam" type="text" default="哈??∥沂且桓鲂驴?⒌哪??quot; label="向大家问好"
                       description="请输入要说的话" />
 </params>

 

修改后MyMod模块的后台管理介面如下图,我们在模块标题的栏位key入 [我有话要说],并将 [向大家问好]的参数栏位改成 [很高兴认识你]。

并将 [向大家问好]的参数栏位改成 [很高兴认识你]

module/mod_MyMod/helper.php

这是一个协助用的文件,我们把此模块会用到的对象都写在里边,让这个文件很单纯的就只有功能而不考虑排版。

<?php // no direct access
defined('_JEXEC') or die('Restricted access');

class modMyModHelper{
      //建立一个涵式,读取参数 myParam。
  function sayWords($params)  {
  
  
    return $params->get('myParam');
  }
}

?>

module/mod_MyMod/mod_MyMod.php

这个文件命名的方式是有原则的,除了与该模块同样的名称外,前面还要加上 (mod_)的前缀字样,我们在里边运用helper.php档中对象产生的结果,并储存到一些变量内。

require_once (dirname(__FILE__).DS.'helper.php');

这行是必须的,一次性的引入helper.php档来协助模块运作。

<?php
// no direct access
defined('_JEXEC') or die('Restricted access');

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


// 定义 show 变量的内容为 modMyModHelper对象处理好的句子

  $show = modMyModHelper::sayWords($params);      

require(JModuleHelper::getLayoutPath('mod_MyMod'));

?>

require(JModuleHelper::getLayoutPath('mod_MyMod'));

这行也是必须的,目的是使用Joomla系统的JModuleHelper对象来告诉系统Layout档的路径

module/mod_MyMod/tmpl/default.php

最后这个文件则是整个模块的版面输出(layout),也只有到了撰写这个文件时,我们才开始加入HTML代码。

<?php

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

<div style="background-color:#ccccff;display:block;height:100px;">
<?php echo $show;?>

</div>

 

读者若是熟悉php,其实可以发现,[helper.php]档的名称其实可以自定义,但为了有良好的模块架构,我们还是遵循常用的开发惯例,一来比较不会出错,二来接手的人也可以在最短的时间上手,便于团体共同开发。

运行效果图

    终于,一个简单的模块完成了,是不是很兴奋阿!

您可能感兴趣的文章:
php用什么软件编程
Joomla 文件操作常用方法
Python自定义模块
jQuery Boilerplate——流行的jQuery插件开发模板
python中import有什么用法
浅谈模块化的JavaScript
在网站上应该用的30个jQuery插件整理
php模板引擎有哪些
怎样添加新的python模块
前端模块化杂谈

[关闭]
~ ~