2014-09-13 6 views
1

손님 (로그인 한 사용자가 아님) 전용 메뉴 항목 중 하나를 만들었습니다. ANd 사용자가 로그인하면 메뉴에서 사라집니다. 괜찮아요 ...Joom-Joomla 2.5에서 오류를 추적하는 방법은 무엇입니까?

하지만 브라우저에 게스트 메뉴 항목에 링크를 넣을 때, 내가 멍청하지 않을 때 매우 구역질 나는 것을 보입니다. jos-Error : 볼 수있는 권한이 없습니다. 이 리소스.

이러한 오류를 추적하고 맞춤 404 페이지 또는 다른 페이지로 리디렉션하는 방법을 찾고 싶습니다.

이 문제에 대해 도움을주십시오.

감사

답변

0

당신은 includes/application.php 기능에 JERROR_ALERTNOAUTHOR 언어 문자열과 화재에 위치한이 자원를 볼 수있는 권한이 없습니다 문자열 :이 기능을 변경하고 리디렉션을 추가하거나 변경할 수

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를 변경하지 않습니다 있는지 확인하십시오.

희망이 도움이

+0

감사합니다, 나는 이것을 시도합니다 ... – user1584043

+1

매력으로 작동합니다! 감사합니다 – user1584043

+0

듣기 좋네, 오신 것을 환영합니다! – emmanuel