Модуль сплит-тестирования Opencart

Я пытаюсь создать путь сплит-теста для процесса продаж в 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 > *');
...

Я не уверен, что мне не хватает, но был бы признателен за любое направление.

1 ответ

Решение

Проблема в том, что ваш код в том, что вы не связали его с 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 для кода, прямое изменение в основном файле - зло.

Другие вопросы по тегам