2012-05-06 82 views

回答

0

如果您使用Joomla!的內置菜單加載註冊頁面,或者從登錄模塊到達那裏,則無法重定向(這很奇怪,因爲您可以在登錄後設置重定向登錄模塊)。

開始的最佳地點是查看Joomla! Extension Directory的「Authentication」部分中的現有解決方案。看起來有幾個列表支持舊的1.5風格的網站和新的1.7/2.5網站。

(通過,如果你仍然在1.7的人數是1.7線嚴重的安全問題,你應該升級到最新的2.5的方式。)

0

在代碼中設置執行下列操作;

$app=JFactory::getapplication(); 
$app->redirect('index.php?option=com_users&view=login')); 
0

您可以通過插件實現這一點(至少在的Joomla 3.x的 - 不知道如何早,這將工作的副手)。這裏的關鍵是onUserAfterSave事件,它告訴你用戶是新的還是現有的。

我以前寫了下面的代碼,所以無法回想一下在onUserAfterSave事件處理程序中無法完成重定向的確切原因,但我認爲重定向隨後會在覈心Joomla用戶管理代碼中的其他地方被重寫如果你試圖從那裏做,那麼在會話中保存一個標誌並在稍後的事件處理程序中檢查它。

class PlgUserSignupRedirect extends JPlugin 
{ 
    public function onUserAfterSave($user, $isnew, $success, $msg) 
    { 
     $app = JFactory::getApplication(); 

     // If the user isn't new we don't act 
     if (!$isnew) { 
      return false; 
     } 

     $session = JFactory::getSession(); 
     $session->set('signupRedirect', 1); 

     return true; 
    } 

    function onAfterRender() { 
     $session = JFactory::getSession(); 
     if ($session->get('signupRedirect')) { 
      JFactory::getApplication()->redirect('/my-post-signup-url'); 
      $session->clear('signupRedirect'); 
     } 
    } 
}