|
|
|
|
|
|

Сессии в Joomla 1.7

Для разработчика не секрет, что функции session_start() и ей подобные в Joomla работать не будут. Поэтому возникает трудность с интеграцией своих сторонних скриптов. Для работы с сессиями в Joomla существует собственный класс JFactory::getSession().

Для включения сессии в стороннем скрипте, который не встраивается с помощью include в шаблон, служит следущая конструкция:

define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../..' ));
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(); 

Как видно из кода тут подключаются две библиотеки Joomla и если после включения этого блока в код у вас появилась ошибка, то надо поэксперементировать с путями.

Если вы инклудите ваш код в шаблон, то эту конструкцию в код добавлять не нужно. 

Для создания нового обекта сессии служит функция:

$session =JFactory::getSession(); 

Для сохранения в сессию и чтения из сессии служат функции:

$session->set( 'code', $value ); // сохранение в сессии
$value  = $session->get(  'code  ); // чтение из сессии 

Надеюсь данный материал был вам полезен. 


WEb MAke STudio © 2011 - 2017