【问题标题】:Joomla 3.2 onAfterInitialise() SessionJoomla 3.2 onAfterInitialise() 会话
【发布时间】:2014-06-23 07:03:53
【问题描述】:

我已经创建了带有事件 onAfterInitialise() 的系统插件,如果 URL 是我正在等待的,我会获取 URL 字符串并在其中设置会话。之后我重定向到根页面并获取会话。它工作正常。但是,如果我有另一个 URL,我会在 onAfterInitialise() 方法中重写会话,但它给了我旧会话,所以我需要刷新以获得新会话。

我可以自动重写会话吗?代码如下:

function onAfterInitialise()
{
    $session = &JFactory::getSession();
    $jApp = &JFactory::getApplication();

    $url = $_SERVER['REQUEST_URI'];
    $url = str_replace('/','',$url);

    if($url != "" && $url != NULL )
    {
        if($url == "something"){
            $session->clear('newRequest');
            $jApp->redirect('http://'.$_SERVER['HTTP_HOST']);
        } else {
            $db =  &JFactory::getDBO();
            $query = ' SELECT *'
                    .' FROM #__new_requests '
                    .' WHERE url ="'.$url.'" AND state = 1';
            $db->setQuery($query);
            $newRequest= $db->loadObjectList();
            if($newRequest!= NULL)
            {
                $session->clear('newRequest');
                $newRequestArray = array();
                $newRequestArray['color'] = $marque[0]->color;
                $newRequestArray['image'] = $marque[0]->image;
                $newRequestArray['banner'] = $marque[0]->banner;

                $session->set( 'newRequest', $newRequestArray);
                $jApp->redirect('http://'.$_SERVER['HTTP_HOST']);
            }
        }
    }
    return true;
}

【问题讨论】:

    标签: plugins joomla-extensions joomla3.0


    【解决方案1】:

    这是模板缓存。我在模板的params.ini中设置了devmode="1"

    【讨论】:

      猜你喜欢
      • 2015-11-07
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      相关资源
      最近更新 更多