OpenCart — время жизни сессии

Добрый день, уважаемый читатель!

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

Для того, чтобы увеличить жизнь сессии необходимо сделать следующее:

Открываем файл /system/library/session.php

Ищем:

session_set_cookie_params(0, ‘/’);

и заменяем на

 session_set_cookie_params(n, ‘/’);

n — это время жизни сессии в секундах.

Например: 60*60*24*31 = 2678400 — столько секунд в одном месяце

 

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

  1. У меня не работало время жизни сессии, если даже я выставлял настройки в session.php.

    Какой метод нашел ещё изменяем время жизни ещё и в /system/library/cache.php Изменяем значение переменной $expire = 3600 на $expire = 2678400

    1. Cache не должен отвечать за это в OpenCart.. хотя, может быть, там есть какая-то ошибка.
      По-крайней мере, когда я у себя менял значение в session.php, у меня все сработало.

      Но в итоге я слез с OpenCart в силу многих причин 🙂

    1. Очень нудная разработка на нем, нет централизованного обновления скрипта и модулей.

      В общем-то про все минусы можно почитать обзорную статью

      http://www.techchattr.com/never-use-opencart

      Я перешел на самописный скрипт на Yii2. Лендинги вообще отдельный разговор, OpenCart для этого не предназначен

Leave a Reply