По умолчанию Drupal7 по-идиотски работает с сессиями для анонимных пользователей. Данные в сессиях не сохраняются, так как session_name не сохраняется в cookies.
Вроде как не большая беда, кому эти анонимные пользователи нужны, но, например, в связи с этим не работает добавление товаров в корзину в Ubercart.
Пришлось убить больше часа на поиск достойного решения и дабы сэкономить ваше время решил им поделиться.
Знаю, что за изменения ядра нужно бить по рукам, но лучшего варианта не нашлось.
Итак, открываем includes/session.inc и в строку №260 (после session_id(drupal_hash_base64(..))) вставляем:
drupal_session_regenerate();
Вуаля, тепер сессии работают и для анонимных пользователей.
4 комментария:
расцеловал бы тебя спасибо за статью
а не кстати все работает и без этих записей
У меня там где нужно вставлять все закоментировано(((
что делать... там где елсе ставляю эту функцию а она подсвечиваться как закомментирована.
выручила!!
Отправить комментарий