摘要:删除记录在model中实现功能model中获取返回的IDS,并调用mdoel删除记录,以下是代码清单:/*** Method to delete record(s)** @access public* @return boolean True on success*/function delete(){ $cids = JRequest::getVar( 'cid', array(0), 'pos...
阅读全文
摘要:在model中实现数据操作现在添加一个store方法用来保存数据,store要绑定form传递的数据到TableHello对象,检查数据格式是否正确,保存数据。store方法代码如下: /*** Method to store a record** @access public* @return boolean True on success*/function store(){ $row =&a...
阅读全文
摘要:Hello Model现在我们来创建model. model有两个属性 _id and _data. _id存贮id,_data存储greeting数据. 构造器中首先从request中取得id/*** Constructor that retrieves the ID from the request** @access public* @return void*/function __cons...
阅读全文
摘要:到目前为止,我们仅处理了编辑和添加,还有保存,删除,取消没处理,现在要写执行这些任务的代码。保存记录理论上我们需要实现保存数据的功能,可能需要一些逻辑分支处理不同情况。幸运的是joomla接管了很多这样的工作。JTable类实现了数据操作功能,而不必关心实际的sql语句,并且把数据从form加入数据库更简单了。创建 Table 类JTable是一个抽象类,对于指定的数据库表我们要从JTable继承...
阅读全文
摘要:现在hellos view完成了,现在需要完成hello view和 model, 他们实际复杂数据处理工作。Hello Controller默认的controller仅仅是展示数据,现在需要controller能处理从hellos view发出的添加,删除,修改任务,添加和编辑本质是相同的任务,他们都是显示给用户一个form来做greeting编辑,不同的是添加是一个空的form,而edit有数...
阅读全文
摘要:直到目前为止,管理界面没有什么实际用户,除了显示数据。我们需要增加一些按钮和链接,从而能执行管理功能。The Toolbartoolbar是Joomla组件管理控制面板的顶部。这个组件同样也需要一个,在Joomla中这是非常简单的。现在来增加按钮来处理添加,修改,删除记录,还需要增加一个toolbar上的标题。以下的代码就可以添加按钮了,为添加按钮,我们使用了Joomla的 JToolBarHel...
阅读全文
摘要:Hellos Template模板获取view传递的数据,并生成输出。我们用一个表格显示输出,尽管前台的模板非常简单,可是后台的管理复杂一些从而能处理数据。这是 views/hellos/tmpl/default.php的代码清单 : <?php defined('_JEXEC') or die('Restricted access'); ?><form action="inde...
阅读全文
摘要:Hellos ModelHellos Model非常简单,我们需要的是从数据库返回hellos列表,这通过getData()方法实现。还有一个_getList()的保护方法,这个方法用来简化从数据库返回数据的任务,我们只是简单的传递query并且返回记录列表。也许以后某个时候,我们在另一个方法中使用这个查询,因而我们创建了一个私有方法 _buildQuery() ,这个方法返回query,并且传递...
阅读全文
摘要:Hellos View现在model已经返回了数据,那么就需要view来显示数据。view与前台的view也相似与前台一样,这里的model也是自动初始化的。view主要有三行程序,一是得到model返回的数据,二是传递数据给模板,三是调用display方法,显示输出。以下是 views/hellos/view.html.php. 代码清单: <?php/*** Hellos View fo...
阅读全文
摘要:你可能看到了表的前缀非常奇怪。Joomla将替换这个前缀,用安装时候指定的内容。对于通常的安装,这个表名将是jos_hello,这样可以多个安装使用一个数据库,并且能够避免表名冲突。表中有两个字段,一是id,是主键,一是greeting.以上内容保存在 install.utf.sql. 创建卸载sql文件尽管我们希望永远不必卸载组件,然而卸载也是重要的。Joomla将自动找到需要删除的文件和目录,...
阅读全文
摘要:序言前三个例子我们开发了一个从数据库中获取数据的MVC组件。可是除了手工添加数据或者使用其他工具外,我们没有办法添加数据。本教程中,我们将开发一个管理部分从而能够管理数据。创建基本框架后台管理基本框架与前台站点部分基本相同。管理部分的主入口是 admin.hello.php. 这个文件与我们在前他部分使用的hello.php是一样的,除了controller改为 HellosController....
阅读全文
摘要:序言前两个例子展示了如何创建简单的MVC组件,在第二个例子中view获取从model中返回的数据。本教程中,我们继续关注model,我们将直接从数据库获得数据,而不是直接写在model中。我们将演示如何利用JDatbase从数据库中取得数据取得数据第二个例子中只有一个方法getGreeting(),这个方法所做的仅仅是返回写在代码中的greeting.稍后将演示如何创建sql文件,并加入到xml安...
阅读全文
摘要:打包 - 创建 hello.xml可以通过上传文件,然后修改数据表来安装组件。更有效的方式是创建一个安装包,让Joomla installer帮你做安装。 这个安装文件包含以下内容:组件的基本信息要拷贝的文件执行安装和卸载的php文件.sql语句xml文件格式如下: <?xml version="1.0" encoding="utf-8"?><!DOCTYPE install S...
阅读全文
摘要:添加一个 Model 序言在上一文章中,我们做了一个Joomla 1.5 MVC模式的hello world 组件。在例子中,greeting是直接写在view中的,这并不完全遵守MVC的原则,按照MVC的要求, view仅仅是展示数据而不是包含数据。现在,我们来展示如何将数据迁移到Model中。接下来的例子中,你可以看到MVC设计模式的强大和灵活性。创建Model正如其名,model这个类是代表...
阅读全文
摘要:view的工作很简单,就是获取数据,用assignRef传递给模板。view 代码如下: <?php/*** @package Joomla.Tutorials* @subpackage Components* @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/* @...
阅读全文
摘要:Joomla! 模板使用用来以特定方式布置从view获取数据的php文件 在模板中可以 用$this→{propertyname}获取view通过assignref传递的数据。例子中模板非常简单,以下是代码:<?php // no direct accessdefined('_JEXEC') or die('Restricted access'); ?><h1>...
阅读全文
摘要:创建 Controller组件例子只有一个任务 - greet the world. 因此controller非常简单. 不需要数据操作,所做的只是决定调用那个合适的view. 我们只有一个方法 display(). 以下是源代码: <?php/*** @package Joomla.Tutorials* @subpackage Components* @link http://dev.jo...
阅读全文
摘要:创建组件对于这个简单的组件,只需5个文件:hello.php - 组件的入口文件controller.php - controller基类views/hello/view.html.php - 返回数据,传递给模板views/hello/tmpl/default.php - 模板文件hello.xml - 组件安装文件创建入口文件Joomla!总是有一个单一的如楼,比如对于站点应用是/index....
阅读全文
摘要:Joomla 1.5的新框架为开发者解除了束缚,代码彻底的修改和整理过了。本文给出了采用新框架的开发过程。我们将开发一个hello world的组件,接下来的教程中,在这个简单框架的基础上将展现MVC设计模式的力量。MVC模式尽管这个组件非常简单,可是随着添加新的功能或者自定义界面,代码可以非常复杂。MVC就是数据表示和商业逻辑分开的软件设计模式,这样的前提就是商业逻辑在一起,而界面和用户交互能够...
阅读全文
摘要:Joomla!的插件功能强大,增强了系统的功能和可变性。如同模块之于增强输出,插件主要用于对数据的预处理和事件的相应。比如在多系统中实现同步登陆等。本教程将教您自己动手DIY一个Joomla!的插件。简介Joomla!的插件功能强大,增强了系统的功能和可变性。如同模块之于增强输出,插件主要用于对数据的预处理和事件的相应。比如在多系统中实现同步登陆等。本教程将教您自己动手DIY一个Joomla!的插...
阅读全文