%22 %212 %2013 %12:%五 %PM

调整J1.5扩展到J1.6+

作者
给本项目评分
(0 得票数)

目标:

了解1.5的开发于2.5的开发有什么地方不同,如果我有一个1.5的组件,如何将他调整为能在2.5上运行。

 

理论:

1,背景介绍

自从joomla1.5到1.6进过了很多的改进,有些函数和写法在j1.6中已经不支持。所以有必要我们学习一下他们之间的不同,

2,$option 和 $mainframe已经移除

代替全局 global $option : $option = JRequest::getCmd('option');

$mainframe 也不再支持了 。我们应该i用代码

$mainframe = & JFactory::getApplication();

 

3,XML安装文件也发生了改变

4,在插件加载语言的方式发生了改变

在1.6及以后 所有的插件 必须添加下面的代码:

public function __construct(& $subject,$config)

{

    parent::__construct($subject,$config);

   $this->loadLanguage();

}

5,在BuildRoute 逻辑发生改变

在1.6+,BulidRoute已经改变为通过请求菜单来建立一个link

// We need a menu item.Either the one specified in the query or the menu

if(empty($query['Itemid']))
 {

          $menuItem = $menu->getActive();

}else

{

     $menuItem = $menu->getItem($query['Itemid']);

}

6 在前台访问组件的参数

我们通过指定的菜单项在前台来访问组件的参数。

Joomla 1.5

<?php

  $mycom_parems = JComponentHelper::getParams('com_content');

echo $mycom_params->get('num_leading_articles');

?>

Joomla 1.6+

<?php

 $app = JFacotry::getApplication('site');

mycom_params = & $app->getParams('com_content');

echo $mycom_params->get('num_leading_articles');

?>

 

 

阅读 11869 次数 最后修改于 %18 %250 %2014 %13:%七 %PM