2013-01-23 134 views
1

我正在jomsocial上工作。我已經安裝了「重定向註冊JomSocial」插件,用於將註冊頁面重定向到jomsocial註冊。我收到註冊頁面,但註冊完成後的第一步重定向到登錄頁面,顯示消息爲「請先登錄」。JomSocial - 註冊重定向

只有當我禁用在jomsocial安裝期間創建的菜單「Jomsocial」時,纔會發生這種情況。

是否有任何其他方式將註冊頁面重定向到jomsocial註冊。

回答

0

你可能會不是禁用jomsocial菜單項,如果你不想顯示他們只是把它們放在一個新的菜單,你不會創建一個模塊(或創建一個模塊,不要將其分配給任何位置)。這就是現在失敗的原因。需要此功能的函數是重定向插件中的getMenuItem()。

接下來你會發現,點擊需要登錄的鏈接的訪問者將被髮送到登錄頁面,其&返回參數與它應該在登錄後返回的編碼url一起發送。這不是由jomsocial插件處理,只是變化是這樣的:

文件的插件/系統/ jomsocialredirect/jomsocialredirect.php

/** 
* Method to override Login/Logout redirect 
*/ 
private function overrideRedirectLoginLogout() { 

    $mainframe =& JFactory::getApplication(); 

    $task = JRequest::getVar ('task'); 
    switch ($task) { 
     case 'user.login' : //Joomla 1.6 and later 
     case 'login' : /* on logging */ 
      /** 
      * krz This next line restores working status of login redirects. 
      * (the purpose of jomsocialredirect plugin is to redirect after login, but some links for guests 
      * point to com_login with a return url set; if this is the case, the next line makes the feature work, 
      * otherwise it would be overridden; 
      * note: redirect is to be avoided on logout. 
      */ 
      if (JRequest::getVar('return','')!='') return; 

      if ($this->login()) { /* we do login by self */ 
       /* redirect if login success */ 
       $link = $this->getMenuLink ($this->pluginParams->get ('redirect_login', 1)); 
       $mainframe->redirect ($link, JText::_ ($this->pluginParams->get ('redirect_login_msg', 'LOGIN_SUCCESSFUL')), 'message'); 
      } else { 
       /* redirect if login failed */ 
       $link = $this->getMenuLink ($this->pluginParams->get ('redirect_login_failed', 1)); 
       $mainframe->redirect ($link, JText::_ ($this->pluginParams->get ('redirect_login_failed_msg', 'LOGIN_FAILED')), 'notice'); 
      } 
      break; 
     case 'user.logout' : //Joomla 1.6 and later 
     case 'logout' : 
      $link = $this->getMenuLink ($this->pluginParams->get ('redirect_logout', 1)); 
      JFactory::getApplication()->logout(); 
      $mainframe->redirect ($link, JText::_ ($this->pluginParams->get ('redirect_logout_msg', 'YOU_HAVE_LOGGED_OUT')), 'message'); 
      break; 

     default : 
      /* override redirect after login/logout */ 
      $view = JRequest::getVar('view',''); 
      if ($view=='profile') { 
       $link = $this->getMenuLink ($this->pluginParams->get ('redirect_login', 1)); 
       $mainframe->redirect ($link); 
      } 

      break; 
    } 
} 
1

看來你有菜單項的問題。可能你在JomSocial工具欄之外創建了一些菜單項,並且你已經設置了這個菜單項(具有最高菜單項ID的)隱私限制之一。

所以你到了註冊頁面,點擊下一個Joomla!正在從上面提到的菜單項中獲取菜單項ID ...這會導致重定向到「請先登錄」。只需檢查你的菜單項;)