Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль СДЕК, не выводится в оформление заказа ,выкидывает ошибку


byinfashion

Recommended Posts

Помогите начинающему ,OpenCart 2.2 , установил модуль СДЭК ,от сдэка бесплатный 

Получил API , настроил модуль , права включил ,все перевел во включенный режим 

На активации срособа доставки в модуле ,почему то светится это: Внимание: Учетная запись для интеграции не совпадает с учетной записью доступа в Личный Кабинет на сайте СДЭК. Данные для интеграции интернет-магазина и транспортной компании СДЭК можно получить только по запросу. Все подробно описано на сайте компании разделе «Как начать интеграцию?».

Хотя лицензия пишет принята , а так же в выгрузке ни каких нареканий нет , делал все по документации предоставленой СДЭКом 

 

При оформлении заказа ,в доставке СДЭКа нет , и вылетает после установки ошибка на сайте :

Warning: Parameter 1 to ModelTotalCodCdekTotal::getTotal() expected to be a reference, value given in /home/b/byinfayl/byinfashion.ru/public_html/system/storage/modification/system/engine/loader.php on line 150

 

Нашел этот файл ,но так и не понял что там менять , вот часть кода со строкой 150 :

        
            if (method_exists($model, $method)) {
                $output = call_user_func_array(array($model, $method), $args);
            } else {
                throw new \Exception('Error: Could not call model/' . $route . '!');
            }

 

строка 150 выглядит так  $output = call_user_func_array(array($model, $method), $args);

как убрать ошибку ?

Надіслати
Поділитися на інших сайтах


37 минут назад, LTRay сказал:

Не там смотрите. loader.php это файл ядра

Ошибка же у вас в моделе модуля

 

А вот что действительно интересно тут, так это кто у вас такой хитровыдуманный решил делать правки loader.php, раз он лежит в модификациях

сайт дает сверху ошибку именно тут ,Warning: Parameter 1 to ModelTotalCodCdekTotal::getTotal() expected to be a reference, value given in /home/b/byinfayl/byinfashion.ru/public_html/system/storage/modification/system/engine/loader.php on line 150

 

а где ее исправлять ? Нужно лезть в код самого модуля сдэк ,я верно понимаю? И такой вопрос ,может такая ошибка лететь с модуля из-за несостыковки с Ключами АPI ? так как в админке модуль ругается на на одну из активаций модуля ,типа ключ не тот  

Надіслати
Поділитися на інших сайтах


5 minutes ago, byinfashion said:

сайт дает сверху ошибку именно тут

Просто вы не можете её верно прочитать. Сайт вам говорит что ошибка в ./catalog/model/total/codcdektotal.php (хотя я не уверен, как то странно сразу и cod и cdek в одном именовании класса). Да и ключи тут не причём, ошибка гласит что первый параметр метода getTotal должен быть ссылкой (что как бы также факт)

Надіслати
Поділитися на інших сайтах


7 минут назад, LTRay сказал:

Просто вы не можете её верно прочитать. Сайт вам говорит что ошибка в ./catalog/model/total/codcdektotal.php (хотя я не уверен, как то странно сразу и cod и cdek в одном именовании класса). Да и ключи тут не причём, ошибка гласит что первый параметр метода getTotal должен быть ссылкой (что как бы также факт)

Вот файл с названием cod_cdek_total php 

код:

<?php
class ModelTotalCodCdekTotal extends Model {

    public function getTotal(&$total_data, &$total, &$taxes) {
        
        if (!empty($this->session->data['payment_method']['code']) && $this->session->data['payment_method']['code'] == 'cod_cdek') {
            
            $price_info = $this->config->get('cod_cdek_price');
            
            if ($price_info['value'] && is_numeric($price_info['value'])) {
                
                $value = (float)$price_info['value'];
                
                switch ($price_info['mode']) {
                    case 'percent':
                        $value = ($this->cart->getSubTotal() / 100) * $value;
                        break;
                    case 'percent_total':
                        $value = ($total / 100) * $value;
                        break;
                }
                
                $title_info = $this->config->get('cod_cdek_total_title');
                            
                if (!empty($title_info[$this->config->get('config_language_id')])) {
                    $title = $title_info[$this->config->get('config_language_id')];
                } else {
                    $this->load->language('total/cod_cdek_total');
                    $title = $this->language->get('text_title');
                }
                
                $total_data[] = array( 
                    'code'       => 'cod_cdek_total',
                    'title'      => $title,
                    'text'       => $this->currency->format($price_info['prefix'] . $value),
                    'value'      => $price_info['prefix'] . $value,
                    'sort_order' => $this->config->get('cod_cdek_total_sort_order')
                );
                
                if ($price_info['prefix'] == '+') {
                    $total += (float)$value;
                } else {
                    $total -= (float)$value;
                }
                
            }
            
        }
        
    }
}
?>

Надіслати
Поділитися на інших сайтах


2 minutes ago, byinfashion said:

Мда ,а я качал на 2- 2.1 ,дальше вариант был 2.3, может версию 2.3 попробовать 

у меня 2.2 версия 

Ну в 1.5 или 2.1 не особо тут важно. В 2.2 иначе

Надіслати
Поділитися на інших сайтах


10 часов назад, byinfashion сказал:

установил модуль СДЭК ,от сдэка бесплатный

Нет модулей от СДЭК, есть закодированный модуль от сборки Опенкарт Ру, который зачем то собирает себе ваши данные. 

Отсюда и ошибка, нужен логин и пароль не от СДЭК, а от доступа к серверу  этого "бесплатного" модуля.

Самое верное решение сносить его. Неоднократно было так, что модуль этот влиял на скорость работы всего магазина, а точнее сказать на жутчайшие тормоза при работе на любой странице. Ну и не забывайте, вы доверяете данные своих покупателей третьим лицам, которые под видом бесплатных модулей, зачем то их видимо собирают.

  • +1 2
Надіслати
Поділитися на інших сайтах

2 часа назад, Tom сказал:

Нет модулей от СДЭК, есть закодированный модуль от сборки Опенкарт Ру, который зачем то собирает себе ваши данные. 

Отсюда и ошибка, нужен логин и пароль не от СДЭК, а от доступа к серверу  этого "бесплатного" модуля.

Самое верное решение сносить его. Неоднократно было так, что модуль этот влиял на скорость работы всего магазина, а точнее сказать на жутчайшие тормоза при работе на любой странице. Ну и не забывайте, вы доверяете данные своих покупателей третьим лицам, которые под видом бесплатных модулей, зачем то их видимо собирают.

так сдэк ссылается на этот сайт http://cdek.opencart.ru 

где тогда брать модуль , если нужно поставить доставку именно сдэк?

Надіслати
Поділитися на інших сайтах


34 минуты назад, byinfashion сказал:

так сдэк ссылается на этот сайт http://cdek.opencart.ru 

Ну вот и уберите в ссылке cdek. и получите, то о чем я писал.

 

Надіслати
Поділитися на інших сайтах

16 минут назад, Tom сказал:

Ну вот и уберите в ссылке cdek. и получите, то о чем я писал.

 

ну я понял , а как его вырвать с корнями , я удаляю модификатор в админке ,модуль пропадает , но ошибка остается 

Надіслати
Поділитися на інших сайтах


Скачайте архив, открываете поэтапно папки в архиве и в магазине и постепенно удаляет шаг за шагом, после чего обновите кэш модификаторов.

Надіслати
Поділитися на інших сайтах

8 часов назад, Tom сказал:

Скачайте архив, открываете поэтапно папки в архиве и в магазине и постепенно удаляет шаг за шагом, после чего обновите кэш модификаторов.

да этот модуль так вьелся ,что после удаления магазин пополз ошибками весь , короче востановил с резерва уже без модуля , надо было сразу так делать 

Надіслати
Поділитися на інших сайтах


Тоже вариант. Хотя я выдирал его из 5 магазинов. И тем способом , что я написал, это делается на ура.

Ну и на будущее... Не знаете, не уверены, мало опыта, всегда уточняйте на форуме. Явно найдётся кто то , кто ранее имел дело, устанавливал, использовал итп.

Форум он именно для этого.

Змінено користувачем Tom
Надіслати
Поділитися на інших сайтах

22 минуты назад, Tom сказал:

Тоже вариант. Хотя я выдирал его из 5 магазинов. И тем способом , что я написал, это делается на ура.

Ну и на будущее... Не знаете, не уверены, мало опыта, всегда уточняйте на форуме. Явно найдётся кто то , кто ранее имел дело, устанавливал, использовал итп.

Форум он именно для этого.

У меня он был просто повсюду , выходил за рамки архива установщика, сравнимо с вирусником на компе,все выдернул ,и сайт слетел, хотя возмлжно я что то не то задел , но в любом случае спасибо за помощь и советы ,буду иметь ввиду )

Надіслати
Поділитися на інших сайтах


  • 7 months later...

ЕСть сайт на opencart 3 и наш любимый СДЭК.  При выборе г. Москва нет ПВЗ, Для всех остальных регионов все работает как надо. Пока удалось выяснить, то что проблема возникает при выборе именно г. Москва что он записывает в сессию доступные пункты выдачи (их очень много). Но , что-то на сайте не выдерживает этого объема и очищает сессию, удаляя данные о пунктах выдачи и авторизации.

Что это может быть и куда копать?

Надіслати
Поділитися на інших сайтах


  • 1 year later...

Добрый день!
Подскажите, как включить модуль интеграции СДЭК? Модуль активирован, но в колонке "Статус" стоит "Отключено". И как его включить - понятия не имею. Как следствие - на странице оформления заказа не отображается доставка СДЭК. Кто знает - помогите пожалуйста.

Спасибо.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.