Joomla!使用 templates/system/error.php 文件来管理各种 HTTP 状态错误,包含 “403 Forbidden”、”404 Not Found”、以及 “500 Internal Server” 错误。如果想要自定义错误页面的话,可以按照如下的方式修改:
1、复制templates/system/error.php文件到templates/<template-name> 目录下;
2、复制templates/system/css/error.css 文件到templates/<template-name>/css 目录下;
3、更新templates/<template-name>/error.php文件
<link rel="stylesheet" href="/<?php echo $this->baseurl; ?>/templates/system/css/error.css" type="text/css" />
通过调整error.css文件可以调整error.php文件的样式。
类似的,如果你要调整错误页的显示内容,可以直接编辑error.php文件,按照你的设计修改。例如自定义404错误页:
<?php if ($this->error->getCode() == '404') { ?>
<div id="errorboxheader">Page not found</div>
<div id="errorboxbody"><p>Sorry! That page cannot be found.</p>
</div>
</div>
<?php } ?>
注意:error.php文件相对于Joomla CMS独立的一个文件,不能使用聲明语句或直接加载模块,同样,插件也不能直接作用在这个文件上。因此,如果要在error.php文件中调用模块的话,需要通过如下的方式调用:
方法一:通过模块名称调用:
if (JModuleHelper::getModule('menu')) {
echo $doc->getBuffer('module', 'menu');
}
方法二: 通过模块位置调用:
$modules = JModuleHelper::getModules( 'footer_3' );
$attribs['style'] = 'xhtml';
foreach ($modules AS $module ) {
echo JModuleHelper::renderModule( $module, $attribs );
}