理论:
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');
?>