У меня есть сайт opencart с двумя магазинами в разных доменах, domain1.com и domain2.com.
Я хочу иметь возможность делиться корзиной через них, так что если я добавлю какой-то продукт в корзину на domain1.com и перейду на domain2.com, у меня все равно останутся эти продукты в корзине.
Я видел что-то подобное, но для разных поддоменов, и я не нашел ничего для разных доменов.
например: вопрос для поддоменов
Я использую версию 1.5.6, и файл сеанса таков:
class Session {
public $data = array();
public function __construct() {
if (!session_id()) {
ini_set('session.use_cookies', 'On');
ini_set('session.use_trans_sid', 'Off');session_set_cookie_params(0, '/');
session_start();
}
$this->data =& $_SESSION;
}
function getId() {
return session_id();
}
}
Как я могу изменить этот файл, чтобы поделиться сессией и корзиной?
Любая помощь приветствуется!
Спасибо!
Я не уверен, что это верное решение, но я знаю, что данные корзины хранятся в таблице «customer» на sql. Поэтому вам нужно изменить или удалить раздел где каждого SQL-запроса, который дает вам информацию о корзине.
Например, удалите раздел где store_id = x для каждого запроса.
Почему вы устанавливаете время жизни куки в 0? Кажется, ты планируешь уничтожить сессию. Вы должны обязательно попытаться использовать что-то вроде
<?php
session_set_cookie_params(1800, '/', $_SERVER['HTTP_HOST']);
Вам может потребоваться дополнительная проверка HTTP_HOST, но в основном это довольно надежная переменная, поскольку Apache или Nginx полагаются на нее. Следует ограничить его текущим именем хоста.