Joomla自定义错误页面

张志军 2年前 (2022-10-03) 1092次浏览 0个评论

Joomla!使用 templates/system/error.php 文件来管理各种 HTTP 状态错误,包含 “403 Forbidden”、”404 Not Found”、以及 “500 Internal Server”......

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 );
}
0 0 投票数
文章评分

版权申明:

本博客所有文章除特别声明外均采用BY-NC-SA 4.0许可协议。依据BY-NC-SA 4.0许可协议,转载请附上原文出处链接及本声明。

原文链接:https://ilearning.org.cn/program/web/joomla-custom-error-page.html

客官,说点什么吧!

订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论
关于本站
立学网是一个分享个人学习总结的知识网站,内容覆盖编程技术讨论,金融经济,历史哲学,读书笔记,生活随笔等内容。
关注我们
关注微信公众号 关注微博