摘要:以前的文章中,关于/index.php我们已经分析完了 $mainframe->dispatch()是引入了组件,并被执行。我们知道对于Joomla,一个页面只能有一个或者0个组件,而上,下左右的碎片都是module,module是页面丰富的有效补充。比如我们知道菜单是 mod_mainmenu,而footer是mod_footer等等,那么这些module是怎么被引入的,并最后执行的?秘密...
阅读全文
摘要:以前的文章中,我们曾经说过 $mainframework->dispatch 是如何最终调用组件的,通过这个dispatch,最终 include 相应组件目录下的 组件名称.php 文件,现在我们来看看,这个文件是怎么按部就班的联系了MVC模式相关的各个文件。require_once (JPATH_COMPONENT.DS.'controller.php');// Require spec...
阅读全文
摘要:同样 JController 是MVC中重要的起点,正式这个类决定的动作的下一步流向,我们来看看表格提交数据的典型的controller的代码:function edit(){JRequest::setVar( 'view', 'hello' );JRequest::setVar( 'layout', 'form' );JRequest::setVar('hidemainmenu', 1);par...
阅读全文
摘要:MVC模式中,重要的一环,JView 和 tmpl目录中的模板,共同决定了,页面html的代码,Jview是在Jmodel和template之间的桥梁。我们扩展做自己的组件,都需要扩展Jview的子类。这个类其实需要看看它的变量和函数也就理解:跟数据相关的部分:_defaultModel 默认的model ,可以通过 setModel 进行设置。同时function &get 可以从指定的...
阅读全文
摘要:我们经常提到MVC模式,JModel在Joomla的MVC组件中是重要的一个环节,JModel是MVC中的数据视图层,我们需要明白的是JModel不同于JTable,数据视图是由一个或者几个table构成,或者多条数据记录构成的数据集合,以及数据集合的相关操作,对于JModel我们不必了解太多的具体函数,在组件开发过程中,通常都要继承JModel,在子类中完成数据集合的生成以及相关的操作,保存,删...
阅读全文
摘要:JTable是什么?肯定不是对应html中的table ,在做com_helloworld的时候,没有仔细理解,后来一位同事问我Jmodel,JTable,JDatabase有什么区别?一时语塞JTable是数据库中数据表在程序中的表达,不知道这句话怎么说,其实JTable更对应着表中的一行,以及相应的操作。Joomla中的JTable**对应中数据库中 **表,我们在使用的时候要针对我们自己所使...
阅读全文
摘要:Joomla代码中, 组件是如何被调用并渲染的呢?在描述 /index.php的时候,我们看到根据option参数,$mainframework->dispatch(),就进入了组件的调用并渲染的过程,我们来看看JSite 的dispatch都做了什么工作。dispatch 最关键的是这几句话:$document->setTitle( $params->get('page_tit...
阅读全文
摘要:这是另一个Joomla扩展中最常用的类,这个类封装了客户端提交的请求相关的信息,通过这个类你可以得到用户提交的相关信息和数据,有几个重要的函数:首先是get($hash),我们看看部分源码就知道,get得到什么了switch ($hash){case 'GET' :$input = $_GET;break;case 'POST' :$input = $_POST;break;case 'FILES...
阅读全文
摘要:Joomla 最常用的类之一,使用方式JTEXT::_('JJJJJ')JJJJJ对应语言文件中的相应字符串。为了实现多语言这个是常用的。当然如果你以utf-8字符集存储php文件,对于中文就不用考虑那么多了,不过不够规范喓。要是只是自己用,也无所谓啦,开发要快点。呵呵!推荐还是用吧!
阅读全文
摘要:这个两个类是后台管理过程经常用到的,比如:JToolBarHelper::title( JText::_( '{{component}} Manager' ), 'generic.png' );JToolBarHelper::deleteList();JToolBarHelper::editListX();JToolBarHelper::addNewX();这几句就添加了三个按钮,添加,删除,修改...
阅读全文
摘要:JHtml 没有几个函数,但是在组成页面已经模板书写过程中经常用到,比如:JHTML::_('date', $this->item->date, JText::_('DATE_FORMAT_LC5'))以及在后台管理中常用到的来看看这几个函数:calendar 显示一个日历插件date 显示格式化日期iframe 插入一个iframeimage 插入一个图片link 插入一个超链以上是...
阅读全文
摘要:这几个类都是filesystem包中的重要类,具体的使用看我在模块快速生成器中的代码,函数意义都非常明确:if(JFolder::exists($targetpath)) JFolder::delete($targetpath);JFolder::create($targetpath);JFolder::create($targetpath.DS.'tmpl'); 以上是目录使用的例子$sfile...
阅读全文
摘要:user 类处理所有程序中与用户交互的相关事情。这个类的构造函数调用load函数,输入的参数是用户id,可以初始化用户的相关信息,这些信息包括 aid ,gid,usertype,username,name,id等等,这些信息在扩展中经常用到。同时,在程序中,用刚刚说过的getUser,取得当前登录用户实例。具体用法如下:$user=& JFactory::getUser();$userI...
阅读全文
摘要:这是数据库connector类,封装了与数据库操作的一系列操作。目前有两个子类,JDatabaseMysql,JDatabaseMysqli,这个类为以后扩展到其他数据库留出了接口。关于一些具体函数没有什么特殊的,基本对应mysql的函数的一些特征,对于这个类应用基本都是首先 setquery ,然后load或者直接执行 executequery ,主要还是不要混淆load开头的几个函数的具体功能...
阅读全文
摘要:JFactory类,正如其名,这是一个工厂类,应该是简单工厂模式的标准实现。这个类几个重要的函数分别返回几个重要的实例。1、getACL 调用_createACL 返回 joomla.user.authorization 的实例,数据来源2、getApplication 调用 joomla.application.application 的实例获取函数JApplication::getInstan...
阅读全文
摘要:在google搜索我的网站就会发现一些,因为没有注意meta和title 所有的开源项目相关的页面title和meta都一样,对用户很不友好,根本无法分清那个链接是说什么内容的,那么这里就需要JDocuement类来解决问题用法很简单,首先取得document对象 $document=& JFactory::getDocument();然后:$document->setTitle(*...
阅读全文
摘要: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...
阅读全文
摘要: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...
阅读全文
摘要:JRegistryThis class implements a configuration value store. It allows nested levels of configuration values in a tree data structure.这个类实现了配置参数数值的存储。存储的数据是树状结构保存。JRegistryFormatAbstract file for handl...
阅读全文
摘要:JParameterThe main class is JParameter which contains lists of relevent parameter elements. 参数文件相关处理类JElementThe elements are represented by the abstract JElement class. 该元素所代表的抽象JElement类。Element Fol...
阅读全文