在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');