понедельник, 4 июля 2011 г.

Drupal 7 - сессии для анонимных пользователей

По умолчанию Drupal7 по-идиотски работает с сессиями для анонимных пользователей. Данные в сессиях не сохраняются, так как session_name не сохраняется в cookies.

Вроде как не большая беда, кому эти анонимные пользователи нужны, но, например, в связи с этим не работает добавление товаров в корзину в Ubercart.

Пришлось убить больше часа на поиск достойного решения и дабы сэкономить ваше время решил им поделиться.

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

Итак, открываем includes/session.inc и в строку №260 (после session_id(drupal_hash_base64(..))) вставляем:

drupal_session_regenerate();

Вуаля, тепер сессии работают и для анонимных пользователей.

4 комментария:

Cosmos комментирует...

расцеловал бы тебя спасибо за статью

Cosmos комментирует...

а не кстати все работает и без этих записей

Unknown комментирует...

У меня там где нужно вставлять все закоментировано(((
что делать... там где елсе ставляю эту функцию а она подсвечиваться как закомментирована.

Анонимный комментирует...

выручила!!