- Друг форума
- Программист
- Автор темы
- Администратор
- Модер.
- Команда форума
- #1
В стандартном OpenCart 3 при закрытии браузера сбрасывается session и за этого удаляются товары с корзины, сбрасывается авторизация (в админке тоже), это fix вам поможет.
И так, приступим)
Находим:
И переносим строку за скобки
Должно получится так:
Далее идем в /system/library/session.php
Находим:
После вставляем:
И последний файл: /system/library/session/db.php
Находим:
После вставляем:
И так, приступим)
Открываем /system/framework.phpВНИМАНИЕ! Перед редактированием или замене файлов сделайте бэкап!
Находим:
Код:
setcookie($config->get('session_name'), $session->getId(), (ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0), ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
Код:
if ($config->get('session_autostart')) { code }
Должно получится так:
Код:
if ($config->get('session_autostart')) {
if (isset($_COOKIE[$config->get('session_name')])) {
$session_id = $_COOKIE[$config->get('session_name')];
} else {
$session_id = '';
}
$session->start($session_id);
}
setcookie($config->get('session_name'), $session->getId(), ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
Далее идем в /system/library/session.php
Находим:
Код:
} else {
trigger_error('Error: Could not load cache adaptor ' . $adaptor . ' session!');
exit();
}
После вставляем:
Код:
if ($this->adaptor && !session_id()) {
session_set_cookie_params(time()+31536000, '/');
session_start();
}
И последний файл: /system/library/session/db.php
Находим:
Код:
$this->db = $registry->get('db');
Код:
if(!session_id()) {
ini_set('session.use_only_cookies', 'Off');
ini_set('session.use_cookies', 'On');
ini_set('session.use_trans_sid', 'Off');
ini_set('session.cookie_httponly', 'On');
ini_set('session.gc_maxlifetime', 31536000);
}