я установить переменный сеанс через AJAX запрос, как в кассе страницеMagento сессия не обновляется в наблюдателя событий
Mage::getSingleton('customer/session')->setMyValue($value_from_post_data);
выше устанавливаются в контроллере пользовательского модуля.
У меня есть наблюдатель событий, который наблюдает checkout_onepage_controller_success_action здесь, когда я обращаюсь к сеансу, я не нахожу my_value переменную сеанса, которую я создал.
Примечание: Идентификаторы сеанса такие же. Никаких изменений в них. После того, как значение сеанса установлено, я распечатал все данные сеанса для подтверждения, setMyValue создал my_value в сеансе.
Таким образом, запрос ajax выполнил свою работу. Он установил переменную Но наблюдатель берет старые данные сеанса. Почему это происходит, дайте мне работу
Это ошибка в пурпуре? Есть ли способ, с помощью которого я могу попросить magento обновить объект сеанса. Что-то вроде скажем, например,
Mage::getModel('core/session')->pleaseMagentoRefreshSessionObject();
Чтобы я получил новый объект сеанса в памяти.
Можете ли вы также показать код, в котором вы получаете данные сеанса в наблюдателе? – bogatyrjov
Как обычно, $ data = Mage :: getSingleton ('customer/session') -> getMyValue(); Код является проприетарным. Имя события: checkout_onepage_controller_success. Здесь я получаю значение сеанса. идентификаторы сеанса совпадают. Переменные сеанса совпадают. его просто та самая переменная, которая отсутствует. –
. Самая разумная вещь, которую я могу предложить, - установить и получить переменную сеанса с использованием стандартного PHP-метода ($ _SESSION), чтобы определить, имеет ли он какое-то отношение к использованию Singleton 0 – bogatyrjov