Сам сайт - http://roboshop.spb.ru/
Решил я поменять интерфейс корзины и вообще немного процесс заказа. Упростить, сделать более дружелюбным. Вместо ссылки и кнопки на корзину и ссылки на чекаут, причем ни одна из ссылок не отличается особой красотой и очевидность что делать, решил оставить один элемент корзины. Встроить его в верхнее меню вместо корзины и оплаты. На данный момент все неплохо - она выделяется, понятно куда жать и что делать. Но столкнулся с проблемой. Стандартный модуль "cart" в виде кнопки обновляет свои данные при заказе, без перезагрузки страницы. Как я не старался, я так и не нашел в php файлах модуля необходимых функций. При нажатии на кнопку "купить", идет обращение не к модулю, а к checkout/cart, конкретно к cart.add(), так что в итоге начал плясать оттуда. В controller/checkout/cart.php в функции add() происходит следующее:
$json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
- здесь мы создаем строку, которую потом поместим на кнопку, и
$this->response->setOutput(json_encode($json));
- и здесь мы их отправляем.
Но куда? Как и где полученные данные обрабатываются? Не нашел ничего.
Я пытался эксперементировать. Например, просто вставил этот модуль в верхнее меню. Он, естественно, работал. Но стоит запихнуть его в дополнительный контейнер уже в tpl файле модуля, просто div, он работать перестает, хотя и совершенно непонятно почему. Заканчивается второй день безудержного секса с корзиной, а выхода я не вижу. На форум вся надежда короче)