Custom Sessions with Joomla

后端 未结 7 1297
小蘑菇
小蘑菇 2020-12-30 17:45

I\'ve trying to build Joomla into my existing website so I can use it for premium content.

I\'ve already got a custom-built authentication system that sets my own

7条回答
  •  南笙
    南笙 (楼主)
    2020-12-30 18:34

    I know this is an old question, but I decided to post a solution here in case someone is still looking for it.

    Joomla does use its own framework and session management. You can still write your own php files and access Joomla session variables. You just need to load the joomla framework into your php script.

    For J1.6 you need to include the following lines at the beginning of your php script. NOTE: these need to be included at the very top as joomla is going to call a session_start().

    define( '_JEXEC', 1 );
    define( 'JPATH_BASE', realpath(dirname(__FILE__).'/..' )); //you will need to update this path to represent your installation. This path works if you store all your custom php scripts in a subdirectory off the main joomla install directory.
    
    define( 'DS', DIRECTORY_SEPARATOR );
    
    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
    $mainframe = JFactory::getApplication('site');
    $mainframe->initialise();
    

    Once you do that you can store session variables using:

    $session->set('msgjson',$msgjson);
    

    read session variables using:

    $msgjson = $session->get('msgjson')
    

    and unset session variables using:

    $session->clear('msgjson');
    

    This works for J1.6. You will probably need to change the lines that load the joomla framework for other versions. I would start with the index.php in the Joomla's root directory as it has to load the framework.

    I hope this helps.

提交回复
热议问题