yoomoney / cms-opencart2

YooKassa payment module for Opencart 2.x
https://yookassa.ru/developers
9 stars 17 forks source link

Проблема при нажатии кнопки отменить в админке на opencart 2.2. #46

Open tribetmen opened 5 years ago

tribetmen commented 5 years ago

У вас отмена ведет на страницу index.php?route=extension/extension&token=xxx&type=payment, а должно на index.php?route=extension/payment&token=xxx в opencart 2.2

ostulov commented 5 years ago

Добрый день!

Попробуйте обновить модуль до последней версии и проверить, будет ли возникать ошибка.

tribetmen commented 5 years ago

Проверил, ошибка возникает. Вы пытаетесь сделать модуль адаптивным? Если так, то я добавил сравнение в admin/controller/payment: Сначала

   $data['cancel']          = $this->url->link('extension/extension',
        'token='.$this->session->data['token'].'&type=payment', true);

на

    if (version_compare(VERSION, '2.3.0') < 0) {
    $data['cancel']          = $this->url->link('extension/payment',
        'token='.$this->session->data['token'], true);
    } else {
    $data['cancel']          = $this->url->link('extension/extension',
        'token='.$this->session->data['token'].'&type=payment', true);
    }

И так же:

    $result = array(
        array(
            'text' => $this->language->get('kassa_breadcrumbs_home'),
            'href' => $this->url->link('common/dashboard', $params, true),
        ),
        array(
            'text' => $this->language->get('kassa_breadcrumbs_extension'),
            'href' => $this->url->link('extension/extension', $params.'&type=payment', true),
        ),
        array(
            'text' => $this->language->get('module_title'),
            'href' => $this->url->link($this->getPrefix().'payment/'.self::MODULE_NAME, $params, true),
        ),
    );

на

    if (version_compare(VERSION, '2.3.0') < 0) {
    $result = array(
        array(
            'text' => $this->language->get('kassa_breadcrumbs_home'),
            'href' => $this->url->link('common/dashboard', $params, true),
        ),
        array(
            'text' => $this->language->get('kassa_breadcrumbs_payment'),
            'href' => $this->url->link('extension/payment', $params, true),
        ),
        array(
            'text' => $this->language->get('module_title'),
            'href' => $this->url->link($this->getPrefix().'payment/'.self::MODULE_NAME, $params, true),
        ),
    );
    }else{
    $result = array(
        array(
            'text' => $this->language->get('kassa_breadcrumbs_home'),
            'href' => $this->url->link('common/dashboard', $params, true),
        ),
        array(
            'text' => $this->language->get('kassa_breadcrumbs_extension'),
            'href' => $this->url->link('extension/extension', $params.'&type=payment', true),
        ),
        array(
            'text' => $this->language->get('module_title'),
            'href' => $this->url->link($this->getPrefix().'payment/'.self::MODULE_NAME, $params, true),
        ),
    );
    }

Ну и добавил в языки kassa_breadcrumbs_payment в 2.2 и ниже хлебные крошки ведут к пункту "Оплата", а не "Расширение"