【问题标题】:Issuing a redirect from a Joomla module从 Joomla 模块发出重定向
【发布时间】:2011-12-24 07:34:39
【问题描述】:

我对 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 模块中获取当前控制器并发出重定向?

感谢您的任何回答。

【问题讨论】:

    标签: php joomla joomla1.5


    【解决方案1】:

    我在每个控制器构造中调用这个静态函数

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

    【讨论】:

    • 谢谢,这正是我想要的。我会在几分钟内接受你的回答。
    猜你喜欢
    • 2013-09-24
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多