2011-11-08 12 views
5

私はJoomlaに精通していませんが、この機能に関係のないモジュールを書くことが任されています。Joomlaのモジュールからリダイレクトを発行する

モジュールがロードされている場合は、ユーザーがログインしているかどうかを確認し、そうでない場合は特定のURLにリダイレクトする必要があります。

いくつかの検索後、私はこのような何かを思い付いたが、それは明らかに働いて答えではないのです。私は、問題がコントローラに得ることにあると思います

$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; 
} 

。確かに新しいコントローラを作成するのは方法ではありません。現在のコントローラをJoomlaモジュールから取得し、リダイレクトを発行する方法はありますか?

ありがとうございました。

答えて

15

私はそれが私が探していたまさにです、ありがとう

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

を構築し、私のコントローラのそれぞれにこの静的関数を呼び出します。私はあなたの答えを数分で受け入れます。 – Przemek

+0

thnx ...完璧に動作します! –

関連する問題