Сессия не публикуется немедленно в ModX Evo
Я использую Modx Evo 1.0.4 и пытаюсь получить значения через API и сохранить их в переменной сеанса modx. Это логин пользователя. После отправки учетных данных на следующей странице вызывается print_r($_SESSION); Однако пустой массив печатается. Если я обновлю эту страницу, будет показан массив с загруженными переменными сеанса.
Я создаю сессию здесь:
require_once '../manager/includes/config.inc.php';
startCMSSession();
$_SESSION['mx_iCode'] = "test";//$_SESSION['iCode'];
$_SESSION['mx_firstName']= $_SESSION['firstName'];
$_SESSION['mx_lastName']= $_SESSION['lastName'];
$_SESSION['mx_address'] = $_SESSION['address1'].' '.$_SESSION['address2'].' .$_SESSION['address3'];
$_SESSION['mx_city'] = $_SESSION['city'];
$_SESSION['mx_state'] = $_SESSION['stProvince'];
$_SESSION['mx_zip'] = $_SESSION['postalCode'];
и распечатать его на странице, на которой он размещен, используя:
print_r($_SESSION);
Я попытался настроить параметры кэша на странице "print_r" в modX, но каждый параметр дает одинаковые результаты... то есть, он только перечисляет переменные Session после обновления страницы.
Является ли задержка результатом сохранения внешних сеансов в сеансах ModX?
1 ответ
РЕШИТЬ! В заключение.
На моей внешней странице я позвонил
session_start();
обрабатывать некоторые другие данные. я добавил
startCMSSession();
перед значениями мне нужно было получить доступ во фрагменте. Избавление от session_start() в целом решило проблему.
НЕ ИСПОЛЬЗУЙТЕ session_start() где-либо на странице с помощью startCMSSession().