2009年12月20日

joomla源代码探析续(三十一) JHTML 类常用的方法

摘要: 我曾经在几篇文章中涉及到JHTML的方法使用,这里不再说了,请看相关的文章。Joomla!中如何使用switcher.js实现一个位置上div层的切换显示Joomla!用caption.js自动显示图片的简短描述如何在Joomla! 1.5 管理后台中实现滑动分页效果在Joomla!中怎样使用日历部分behavior.calendar在Joomla!中使用弹出提示(Tooltip)教程这里主要说一... 阅读全文

posted @ 2009-12-20 21:15 14的路 阅读(1787) 评论(0) 推荐(0)

joomla源代码探析续(三十) JDate类参考

摘要: JDate类与JString类一样是Joomla!中的基础类,Joomla! core中的大部分日期都用到了相关的函数。JDate的构造函数有两个参数,一个是$date,一个是$tzOffset,前者是时间,默认是当前值,$date可以有三种形式,RFC 822, ISO 8601,unix time stamps,而$tzOffset是时区偏移,比如中国应该是8,默认值是全局配置中你设置的参数.... 阅读全文

posted @ 2009-12-20 21:09 14的路 阅读(381) 评论(0) 推荐(0)

joomla源代码探析续(二十九) JHTML 与JHTMLSelect 类的使用

摘要: 我们在form表单生成的过程中,经常需要有select 标签或者radio标签,这点上 Joomla!也给我们提供了方便的接口JHTMLSelect 。JHTMLSelect的函数可以分为两类:第一类是选项设置,包括:option,optgroup,我们来看看option,option( $value, $text='', $value_name='value', $text_name='text... 阅读全文

posted @ 2009-12-20 21:07 14的路 阅读(806) 评论(0) 推荐(0)

joomla源代码探析续(二十八) 如何扩展JTable类

摘要: JTable类是Active Record设计模式(web应用中应用最为广泛,最为简单的数据库相关的设计模式,笔者)的实现。JTable在joomla与数据库交互过程中广泛的使用。要使用JTable,首先要创建一个JTable的子类。下面是我们的一个例子:<?phpdefined('_JEXEC') or die();class TableRecipes extends JTable{var... 阅读全文

posted @ 2009-12-20 21:05 14的路 阅读(893) 评论(1) 推荐(0)

joomla源代码探析续(二十七)组件后台如何设置参数

摘要: 以下的方法可以在管理后台中添加一个Parameters设置的按钮,点击按钮可以设置这个组件的相关参数,当修改这些参数后,参数保存在component表中。首先要创建一个XML配置文件,文件中包含了相关参数,这个参数文件保存在后台管理界面相应组件中的config.xml中。比如文章/administrator/components/com_content/config.xml.假设我们的评论组件的x... 阅读全文

posted @ 2009-12-20 21:00 14的路 阅读(496) 评论(0) 推荐(0)

joomla源代码探析续(二十六)JUser对象和用户权限判断

摘要: 每一个访问Joomla网站的用户都对应这一个JUser对象,通过$user =& JFactory::getUser() 就可以获得这个对象引用并访问对象的成员函数和属性。下面的代码就是显示用户的名称,邮件的一段代码:echo "<p>Your name is {$user->name}, your email is {$user->email}, and your... 阅读全文

posted @ 2009-12-20 20:57 14的路 阅读(915) 评论(0) 推荐(0)

joomla源代码探析续(二十五)JRequest对象的变量获取过程

摘要: Joomla 1.5 RC3版本的SEF存在不少问题,前段时间架站的时候曾经仔细看过这部分,昨天做apache转向的时候,突然发现又都忘记了,再回忆一次,记录下来。/index.php 中$mainframe->route(); 这一函数中实现了从URI中获取相关参数并填充到JRequest中,我们来看看这个函数的实现过程。这个函数的代码清单如下:function route(){// ge... 阅读全文

posted @ 2009-12-20 20:48 14的路 阅读(765) 评论(0) 推荐(0)

joomla源代码探析续(二十四)JPagination类

摘要: JPagination类是Joomla的通用分页功能的封装类,从RC3开始一直存在一些问题,目前的版本大的问题都解决了,但是sef开启的状态下,可能url还存在一些问题,至少我的站点是这样的。源代码中的类函数与英文文档中的略有不同,暂时以源代码中的为准。__construct 构造函数这个构造函数有三个参数:$total 是集合中记录总数$limitstart 是当前页的第一个记录在集合中的顺序号... 阅读全文

posted @ 2009-12-20 20:46 14的路 阅读(556) 评论(0) 推荐(0)

如何开发一个Joomla插件

摘要: 作者:Andrew Eddile翻译:warran原文地址:http://developer.joomla.org/tutorials/184-how-to-create-a-joomla-plugin.html介绍Joomla插件可用作各种用途。插件为网站的输出页面增加了更多的表达方式,并且具有安装功能。插件类型尽管Joomla的插件类型几乎是无限多的。但他们有8个核心的类型。这些核心类型,分类... 阅读全文

posted @ 2009-12-20 14:22 14的路 阅读(2905) 评论(0) 推荐(1)

Joomla插件开发规范

摘要: 概述:JPlugin Joomla 1.5的新功能为了更好使Joomla符合面向对象的框架,引入了JPlugin。Plugins是依附于全局事件分派系统的观察者类。这就意味无论是Joomla核心,还是第三方组件,模块都能触发一个或多个JPlugins来执行一些功能。这与mambot并不完全相同。虽然mambot与plugin都是事件触发并执行代码,但是mammot需要全局范围的声明,而JPlugi... 阅读全文

posted @ 2009-12-20 14:15 14的路 阅读(627) 评论(0) 推荐(0)

Joomla源代码解析(二十二) 模块是如何被调用执行并渲染(下)

摘要: 上一文章中提到了getBuffer函数,在函数中实际上调用了render ,这个对象是JDocumentRendererModule 类的实例,我们看看JDocumentRendererModule 的render函数。if (!is_object($module)){$module =& JModuleHelper::getModule($module);if (!is_object($... 阅读全文

posted @ 2009-12-20 14:02 14的路 阅读(476) 评论(0) 推荐(0)

Joomla源代码解析(二十一) 模块是如何被调用执行并渲染?

摘要: 以前的文章中,关于/index.php我们已经分析完了 $mainframe->dispatch()是引入了组件,并被执行。我们知道对于Joomla,一个页面只能有一个或者0个组件,而上,下左右的碎片都是module,module是页面丰富的有效补充。比如我们知道菜单是 mod_mainmenu,而footer是mod_footer等等,那么这些module是怎么被引入的,并最后执行的?秘密... 阅读全文

posted @ 2009-12-20 13:58 14的路 阅读(1351) 评论(0) 推荐(0)

Joomla源代码解析(二十) MVC组件的执行

摘要: 以前的文章中,我们曾经说过 $mainframework->dispatch 是如何最终调用组件的,通过这个dispatch,最终 include 相应组件目录下的 组件名称.php 文件,现在我们来看看,这个文件是怎么按部就班的联系了MVC模式相关的各个文件。require_once (JPATH_COMPONENT.DS.'controller.php');// Require spec... 阅读全文

posted @ 2009-12-20 13:57 14的路 阅读(494) 评论(0) 推荐(0)

Joomla源代码解析(十九) JController

摘要: 同样 JController 是MVC中重要的起点,正式这个类决定的动作的下一步流向,我们来看看表格提交数据的典型的controller的代码:function edit(){JRequest::setVar( 'view', 'hello' );JRequest::setVar( 'layout', 'form' );JRequest::setVar('hidemainmenu', 1);par... 阅读全文

posted @ 2009-12-20 13:54 14的路 阅读(485) 评论(0) 推荐(0)

Joomla源代码解析(十八) Jview

摘要: MVC模式中,重要的一环,JView 和 tmpl目录中的模板,共同决定了,页面html的代码,Jview是在Jmodel和template之间的桥梁。我们扩展做自己的组件,都需要扩展Jview的子类。这个类其实需要看看它的变量和函数也就理解:跟数据相关的部分:_defaultModel 默认的model ,可以通过 setModel 进行设置。同时function &get 可以从指定的... 阅读全文

posted @ 2009-12-20 13:53 14的路 阅读(390) 评论(0) 推荐(0)

Joomla源代码解析(十七) JModel是什么

摘要: 我们经常提到MVC模式,JModel在Joomla的MVC组件中是重要的一个环节,JModel是MVC中的数据视图层,我们需要明白的是JModel不同于JTable,数据视图是由一个或者几个table构成,或者多条数据记录构成的数据集合,以及数据集合的相关操作,对于JModel我们不必了解太多的具体函数,在组件开发过程中,通常都要继承JModel,在子类中完成数据集合的生成以及相关的操作,保存,删... 阅读全文

posted @ 2009-12-20 13:51 14的路 阅读(589) 评论(0) 推荐(0)

Joomla源代码解析(十六) JTable是什么

摘要: JTable是什么?肯定不是对应html中的table ,在做com_helloworld的时候,没有仔细理解,后来一位同事问我Jmodel,JTable,JDatabase有什么区别?一时语塞JTable是数据库中数据表在程序中的表达,不知道这句话怎么说,其实JTable更对应着表中的一行,以及相应的操作。Joomla中的JTable**对应中数据库中 **表,我们在使用的时候要针对我们自己所使... 阅读全文

posted @ 2009-12-20 13:50 14的路 阅读(580) 评论(0) 推荐(0)

Joomla源代码解析(十五) 组件是如何被调用并渲染的

摘要: Joomla代码中, 组件是如何被调用并渲染的呢?在描述 /index.php的时候,我们看到根据option参数,$mainframework->dispatch(),就进入了组件的调用并渲染的过程,我们来看看JSite 的dispatch都做了什么工作。dispatch 最关键的是这几句话:$document->setTitle( $params->get('page_tit... 阅读全文

posted @ 2009-12-20 13:46 14的路 阅读(699) 评论(0) 推荐(0)

Joomla源代码解析(十四) JRequest类

摘要: 这是另一个Joomla扩展中最常用的类,这个类封装了客户端提交的请求相关的信息,通过这个类你可以得到用户提交的相关信息和数据,有几个重要的函数:首先是get($hash),我们看看部分源码就知道,get得到什么了switch ($hash){case 'GET' :$input = $_GET;break;case 'POST' :$input = $_POST;break;case 'FILES... 阅读全文

posted @ 2009-12-20 13:44 14的路 阅读(546) 评论(0) 推荐(0)

Joomla源代码解析(十三) JText类

摘要: Joomla 最常用的类之一,使用方式JTEXT::_('JJJJJ')JJJJJ对应语言文件中的相应字符串。为了实现多语言这个是常用的。当然如果你以utf-8字符集存储php文件,对于中文就不用考虑那么多了,不过不够规范喓。要是只是自己用,也无所谓啦,开发要快点。呵呵!推荐还是用吧! 阅读全文

posted @ 2009-12-20 13:43 14的路 阅读(591) 评论(0) 推荐(0)

Joomla源代码解析(十二) JToolBarHelper JToolBar 类

摘要: 这个两个类是后台管理过程经常用到的,比如:JToolBarHelper::title( JText::_( '{{component}} Manager' ), 'generic.png' );JToolBarHelper::deleteList();JToolBarHelper::editListX();JToolBarHelper::addNewX();这几句就添加了三个按钮,添加,删除,修改... 阅读全文

posted @ 2009-12-20 13:41 14的路 阅读(389) 评论(0) 推荐(0)

Joomla源代码解析(十一) JHtml 类

摘要: JHtml 没有几个函数,但是在组成页面已经模板书写过程中经常用到,比如:JHTML::_('date', $this->item->date, JText::_('DATE_FORMAT_LC5'))以及在后台管理中常用到的来看看这几个函数:calendar 显示一个日历插件date 显示格式化日期iframe 插入一个iframeimage 插入一个图片link 插入一个超链以上是... 阅读全文

posted @ 2009-12-20 13:40 14的路 阅读(610) 评论(0) 推荐(0)

Joomla源代码解析(十) JPath JFile JFolder 类

摘要: 这几个类都是filesystem包中的重要类,具体的使用看我在模块快速生成器中的代码,函数意义都非常明确:if(JFolder::exists($targetpath)) JFolder::delete($targetpath);JFolder::create($targetpath);JFolder::create($targetpath.DS.'tmpl'); 以上是目录使用的例子$sfile... 阅读全文

posted @ 2009-12-20 13:39 14的路 阅读(415) 评论(0) 推荐(0)

Joomla源代码解析(九) JUser 类

摘要: user 类处理所有程序中与用户交互的相关事情。这个类的构造函数调用load函数,输入的参数是用户id,可以初始化用户的相关信息,这些信息包括 aid ,gid,usertype,username,name,id等等,这些信息在扩展中经常用到。同时,在程序中,用刚刚说过的getUser,取得当前登录用户实例。具体用法如下:$user=& JFactory::getUser();$userI... 阅读全文

posted @ 2009-12-20 13:36 14的路 阅读(482) 评论(0) 推荐(1)

Joomla源代码解析(八) JDatabase 类

摘要: 这是数据库connector类,封装了与数据库操作的一系列操作。目前有两个子类,JDatabaseMysql,JDatabaseMysqli,这个类为以后扩展到其他数据库留出了接口。关于一些具体函数没有什么特殊的,基本对应mysql的函数的一些特征,对于这个类应用基本都是首先 setquery ,然后load或者直接执行 executequery ,主要还是不要混淆load开头的几个函数的具体功能... 阅读全文

posted @ 2009-12-20 13:35 14的路 阅读(573) 评论(0) 推荐(0)

Joomla源代码解析(七) JFactory 类

摘要: JFactory类,正如其名,这是一个工厂类,应该是简单工厂模式的标准实现。这个类几个重要的函数分别返回几个重要的实例。1、getACL 调用_createACL 返回 joomla.user.authorization 的实例,数据来源2、getApplication 调用 joomla.application.application 的实例获取函数JApplication::getInstan... 阅读全文

posted @ 2009-12-20 13:33 14的路 阅读(898) 评论(0) 推荐(0)

Joomla源代码解析(六) JDocument 类的几个常用的方法

摘要: 在google搜索我的网站就会发现一些,因为没有注意meta和title 所有的开源项目相关的页面title和meta都一样,对用户很不友好,根本无法分清那个链接是说什么内容的,那么这里就需要JDocuement类来解决问题用法很简单,首先取得document对象 $document=& JFactory::getDocument();然后:$document->setTitle(*... 阅读全文

posted @ 2009-12-20 13:32 14的路 阅读(538) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(十五) Utilities 包

摘要: JErrorStatic class for error handling in Joomla!错误处理静态类JDebugHandlerThis class is a handler for debugging information调试信息处理类JProfilerThis class implements a profiler for getting benchmark and debuggin... 阅读全文

posted @ 2009-12-20 13:23 14的路 阅读(359) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(十四) template 包

摘要: This package contains Joomla's API to patTemplate handling classes. The main class in the package is JTemplate which provides an easy interface to parse and display a template file and extends patTemp... 阅读全文

posted @ 2009-12-20 13:22 14的路 阅读(352) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(十三) registry 包

摘要: JRegistryThis class implements a configuration value store. It allows nested levels of configuration values in a tree data structure.这个类实现了配置参数数值的存储。存储的数据是树状结构保存。JRegistryFormatAbstract file for handl... 阅读全文

posted @ 2009-12-20 13:21 14的路 阅读(339) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(十二) parameter 包

摘要: JParameterThe main class is JParameter which contains lists of relevent parameter elements. 参数文件相关处理类JElementThe elements are represented by the abstract JElement class. 该元素所代表的抽象JElement类。Element Fol... 阅读全文

posted @ 2009-12-20 13:19 14的路 阅读(361) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(十一) model 包

摘要: 这个包包含了跟数据表交互的所有相关类JModelThis abstract class is the base class for all Joomla! data access objects.所有数据访问类的抽象基类。以下的类都分别实现对不同表的访问,不再翻译了。Adapter FolderJModelCategoryThis is a data access object for a Joo... 阅读全文

posted @ 2009-12-20 13:16 14的路 阅读(464) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(十) mail 包

摘要: JMailThis class extends PHPMailer and provides a common interface API for sending e-mail from the Joomla! framework.这个类扩展phpMailer并提供了发送邮件的通用接口JMailHelperThis static class has several methods that pro... 阅读全文

posted @ 2009-12-20 13:11 14的路 阅读(275) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(九) installer 包

摘要: 这个包包含了一些管理安装Joomla扩展的一些类JInstallerThis is the abstract class that all installer classes extend. It implements nearly every method that an installer will need short of the actual install and uninstall ... 阅读全文

posted @ 2009-12-20 13:10 14的路 阅读(282) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(八) i18n包

摘要: JLanguageA singleton design pattern. Represents a localization language.单例设计模式,本地化语言类JTextA static class - the work horseof string tranlations字串转换类JStringA wrapper class for the utf-8 string function ... 阅读全文

posted @ 2009-12-20 13:08 14的路 阅读(284) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(七) filesystem包

摘要: JArchiveThis is a static class for handling operations on an archive.处理压缩档案的静态类JFileThis is a static class for handling operations on a file.处理文件的静态类JFolderThis is a static class for handling operatio... 阅读全文

posted @ 2009-12-20 13:06 14的路 阅读(283) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(六) Document包

摘要: JDocument - Abstract document class, provides an easy interface to parse and display a document. This class is extended by JDocumentHTML for HTML documents.This package also includes some extensions o... 阅读全文

posted @ 2009-12-20 13:05 14的路 阅读(331) 评论(0) 推荐(0)

[翻译]Joomla 1.5架构(五) Database包

摘要: JDatabaseThis is an abstract class representing a database connector. The current implemented extensions of JDatabase are JDatabaseMySQL and JDatabaseMySQLi. JDatabase follows an adapter pattern, ther... 阅读全文

posted @ 2009-12-20 13:03 14的路 阅读(346) 评论(0) 推荐(0)

Joomla 1.5架构(五) connector包

摘要: JLDAPA LDAP client class LDAP客户端类JFTPA FTP client classFTP客户端类 阅读全文

posted @ 2009-12-20 12:56 14的路 阅读(307) 评论(0) 推荐(0)

导航

友情链接:源码下载