在本节中我们将继续讨论一下如何将Joomla1.5版本的模板移植到Joomla2.5上。在上一篇文章中,我们从安装的角度来讲的。但真实的情 况是,及时你成功安装了模板,模板是否能够正常工作还是一个很大的问题。现在就来解决,当你成功安装了j15的模板到j25上,但依据不能正常运行的问 题。导致这个问题的原因就在于joomla2.5依旧修改了一下函数的调用。

 在 j15的时候,系统将模板参数存储在.ini文件中,为了能够获得这些参数,我们需要读取ini文件的内容,然后加载这些数据到JRegister对象或 者JParameters对象。但在j25中,我们将模板的参数信息储存到了数据库中。我们可以通过调用getTemplate(true)这个方法来加 载这些参数。典型的代码如下:

$app = JFactory::getApplication();
$template = $app->getTemplate(true);
$params = $template->params;
$variable = $params->get('variable');

 上面的代码允许你在其他的组件或者模块中访问到模板的参数,非常的方便。

在j15到j25这个过程中,其中有一些对象和方法也已经发生了改变。

获得网站名称的方法

j15中使用

<?php echo $mainframe->getcfg('sitename');?>

在j25中需要使用

<?php  $app = JFactory::getApplication();  $app->getcfg('sitename') ;?>

错误处理的方法

在j15中使用

$this->error->code    $this->error->message

在j25中是使用

$this->error-getCode();  $this->error->getMessage();

 输出重载

com_content.

如果在你的1.5模板中,你使用Beez重载,或者你的代码继承自Beez。你可能会遇到JHtml::icon 不被支持这个错误。解决这个错误的方法是,在html/com_content/article/default.php中加上

JHtml::addIncludePath(JPATH_COMPONENT ."/helpers");

 

个人经验:

如果你的模板执行后提示找不到Jparameters这个类。那么你可以在报错的文件前部加上下面的代码:

jimport('joomla.html.paramters');

 

 



收藏
0个人 收藏

关注Joomla中国微信公众号,随时获得最新的Joomla新闻资讯!