Я пытаюсь создать путь сплит-теста для процесса продаж в Opencart, но не смог изменить URL-адрес мини-корзины «Просмотр корзины».
Вот [надеюсь] более четкое объяснение пути разделения:
?route=product/categorya&path=XX
?route=product/producta&product_id=XX
?route=checkout/carta
Это работает до этого момента: на checkout/carta
У меня есть «Пустая корзина» и «Продолжить покупки», указывающие на соответствующие ссылки:
?route=checkout/carta&empty=1
а также
?route=product/categorya&path=XX
У меня даже мини-корзина «Удалить» работает правильно, но «Просмотреть корзину» возвращается checkout/cart
, который завершает остальную часть процесса.
Я пробовал следующие шаги безрезультатно:
#catalog/controller/module/carta.php
class ContorllerModuleCarta extends Controller {
....
$this->data['cart'] = $this->url->link('checkout/carta');
#catalog/view/theme/mytheme/template/module/carta.tpl
<div id="carta">...
#catalog/view/javascript/common.js
/* Ajax Carta */
...
$('#carta').load('index.php?route=module/carta #carta > *');
...
Я не уверен, что мне не хватает, но был бы признателен за любое направление.
Проблема в том, что ваш код в том, что вы не связали его с Opencart. Вы можете сделать это двумя способами —
1-й — OpenCart загрузить корзину из общего> файла header.php, используя
$this->children = array(
'module/language',
'module/currency',
'module/cart'
);
поэтому ваш код, файл carta.php не будет загружаться, так что это конец вашего кода. Добавьте сюда свой код модуля и затем загрузите / отразите его в файл header.tpl и удалите $ cart, иначе отобразятся две корзины.
$this->children = array(
'module/language',
'module/currency',
'module/carta'
);
код tpl
<?php echo $carta; ?>
2-й — если вы не хотите использовать корзину Opencart по умолчанию, просто измените эту строку на файл cart.php, не нужно добавлять другой код (потребуется код js)
$this->data['cart'] = $this->url->link('checkout/carta');
Примечание. Пожалуйста, используйте vqmod / ocmod для кода, прямое изменение в основном файле — зло.
Других решений пока нет …