2011-11-08 20 views
5

Tôi không thực sự quen thuộc với Joomla nhưng tôi đã được giao nhiệm vụ viết một mô-đun có chức năng không liên quan đến câu hỏi.Phát hành chuyển hướng từ mô-đun Joomla

Một trong những yêu cầu là nếu mô-đun được tải, nó sẽ kiểm tra xem người dùng có đăng nhập hay không - chuyển hướng anh ta vào một URL cụ thể.

Sau khi một số tìm kiếm tôi đã đưa ra một cái gì đó như thế này, nhưng nó rõ ràng không phải là một câu trả lời làm việc:

$user =& JFactory::getUser(); 

if (!$user->id) { 
    include_once JPATH_COMPONENT . DIRECTORY_SEPARATOR . "controller.php"; // assuming com_content 
    $contentController = new ContentController(); 
    $link = JRoute::_("my url"); 
    $contentController->setRedirect($link); 
    return; 
} 

Tôi nghĩ vấn đề nằm ở việc để điều khiển. Tạo một bộ điều khiển mới chắc chắn không phải là cách để đi. Có cách nào để có được bộ điều khiển hiện tại từ một mô-đun Joomla và vấn đề chuyển hướng?

Cảm ơn bạn đã trả lời bất kỳ câu hỏi nào.

Trả lời

15

tôi gọi hàm tĩnh này trong mỗi bộ điều khiển của tôi xây dựng

static function forceLoggedIn(){ 


    $user = JFactory::getUser(); 

     if($user->guest||$user->id == 0) 
     { 
      $error = JText::_('YOU MUST BE LOGGED IN'); 
      //base xkè altrimenti andrebbe in loop di redirect 
      JFactory::getApplication()->redirect(JURI::base(), $error, 'error'); 
      return false; 
     } 
    } 
+0

Cảm ơn bạn, đó là chính xác những gì tôi đang tìm kiếm. Tôi sẽ chấp nhận câu trả lời của bạn sau một vài phút. – Przemek

+0

thnx ... hoạt động hoàn hảo! –

Các vấn đề liên quan