2011-11-08 8 views
5

मैं जूमला से वास्तव में परिचित नहीं हूं लेकिन मुझे एक मॉड्यूल लिखने के लिए काम सौंपा गया है जो कार्यक्षमता प्रश्न के लिए अप्रासंगिक है।जूमला मॉड्यूल से रीडायरेक्ट जारी करना

आवश्यकताओं में से एक यह है कि यदि मॉड्यूल लोड हो गया है, तो यह जांचना चाहिए कि क्या उपयोगकर्ता लॉग इन है और यदि नहीं - उसे एक विशिष्ट यूआरएल में रीडायरेक्ट करें।

कुछ खोज के बाद मैं कुछ इस तरह के साथ आया था, लेकिन यह स्पष्ट रूप से एक काम कर जवाब नहीं है:

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

मुझे लगता है कि समस्या नियंत्रक के लिए हो रही में निहित है। एक नया नियंत्रक बनाना निश्चित रूप से जाने का तरीका नहीं है। क्या जूमला मॉड्यूल से वर्तमान नियंत्रक प्राप्त करने का कोई तरीका है और समस्या एक रीडायरेक्ट है?

किसी भी उत्तर के लिए धन्यवाद।

उत्तर

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 ... पूरी तरह से काम करता है! –

संबंधित मुद्दे