gpt4 book ai didi

php - 如何在Joomla 2.5中跟踪jos-Error?

转载 作者:行者123 更新时间:2023-12-03 08:00:00 25 4
gpt4 key购买 nike

我将菜单项之一仅用于 guest (未登录的用户)。 ANd如果用户登录,它将从菜单中消失。效果很好...

但是我注意到,当我将链接放置到浏览器中的Guest菜单项时,如果没有找到它,它会显示非常令人讨厌的 jos-Error:您无权查看此资源

我想找到一种跟踪此类错误并重定向到自定义404页面或其他页面的方法。

请帮我解决这个问题。

谢谢

最佳答案

字符串您无权查看JERROR_ALERTNOAUTHOR语言字符串中的此资源,并在includes/application.php函数中启动:

public function authorise($itemid)
{
$menus = $this->getMenu();
$user = JFactory::getUser();

if (!$menus->authorise($itemid))
{
if ($user->get('id') == 0)
{
// Redirect to login
$uri = JFactory::getURI();
$return = (string)$uri;

$this->setUserState('users.login.form.data', array( 'return' => $return ) );

$url = 'index.php?option=com_users&view=login';
$url = JRoute::_($url, false);

$this->redirect($url, JText::_('JGLOBAL_YOU_MUST_LOGIN_FIRST'));
}
else {
JError::raiseError(403, JText::_('JERROR_ALERTNOAUTHOR'));
}
}
}

您可以更改此功能并添加重定向或更改带有所需消息的文本字符串。

可以使用 redirect()方法进行重定向。

重定向语法的示例:
$app = JFactory::getApplication();
$app->redirect(JRoute::_(JURI::root().'index.php'));

请确保在不创建 override system plugin的情况下不会更改 application.php

希望这可以帮助

关于php - 如何在Joomla 2.5中跟踪jos-Error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25827836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com