ошибка catalog/controller/common/header.php

Тема в разделе "OpenCart", создана пользователем line4_17, 25 дек 2015.

Метки:
  1. line4_17

    line4_17

    Регистрация:
    24 ноя 2015
    Сообщения:
    27
    Симпатии:
    0
    ошибка catalog/controller/common/header.php

    Строчки в файле
    if (empty($current_path) || $current_path['route'] == 'common/home') {
    $body_class = 'home';
    }
    else {
    $body_class = explode('/', str_replace('product/', '', $current_path['route']));

    Подскажите что это? повторяется практически каждый день...
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.053
    Симпатии:
    779
    Я думаю, ошибка связана с $current_path['route'].
    Или неопределённая переменная или неопределённый индекс.

    line4_17, выложите весь файл сюда и текст ошибки.
    И вообще, завязывайте уже со своим стилем называть темы как попало. Название должно в полной мере отражать содержание темы, а разных ошибок в любом файле может быть сколько угодно. Так можно целый раздел забить темами с одинаковыми названиями, но совершенно разными проблемами.
     
    line4_17 и $iD нравится это.
  3. line4_17

    line4_17

    Регистрация:
    24 ноя 2015
    Сообщения:
    27
    Симпатии:
    0
    Dotrox, извиняюсь...
    Журнал ошибок почистила. Пока не возникала.

    Но возникла другая.
    Она возникает при внесении изменения в заказ вручную
    2015-12-26 21:47:25 - PHP Warning: Missing argument 4 for Cart::add(), called in /home/a/anyuta63/b-dreams.ru/public_html/catalog/controller/checkout/manual.php on line 74 and defined in /home/a/anyuta63/b-dreams.ru/public_html/system/library/cart.php on line 318
    2015-12-26 21:47:25 - PHP Notice: Undefined variable: profile_id in /home/a/anyuta63/b-dreams.ru/public_html/system/library/cart.php on line 327


    74 строчка:
    PHP:
    $this->cart->add($order_product['product_id'], $order_product['quantity'], $option_data);
    318-328 строчки:
    PHP:
        public function add($product_id$qty 1$option$profile_id) {
            
    $key = (int) $product_id ':';
          
            if (
    $option) {
                
    $key .= base64_encode(serialize($option)) . ':';
            }  else {
                
    $key .= ':';
            }
          
            if (
    $profile_id) {
                
    $key .= (int) $profile_id;
            }
     
    Lasted edited by : 26 дек 2015
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.053
    Симпатии:
    779
    Просто добавьте в объявлении функции для $profile_id дефолтное значение false:

    PHP:
     public function add($product_id$qty 1$option$profile_id false) {
     
    line4_17 нравится это.
  5. line4_17

    line4_17

    Регистрация:
    24 ноя 2015
    Сообщения:
    27
    Симпатии:
    0
    ООО, все супер считается, обновляется))) Спасибо большущее!

    В слоте способ доставке что то появилось из кода. Может знаете как это вылечить?
     
    Lasted edited by : 27 дек 2015
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.053
    Симпатии:
    779
    Предполагаю, что название модуля доставки обёрнуто в span, который на странице оформления заказа задаёт какие-то дополнительные стили (например, делает текст жирным). Если вам эти стили не нужны, можно почистить языковой файл модуля, то есть удалить всё лишнее из названия.
     
    line4_17 нравится это.
  7. line4_17

    line4_17

    Регистрация:
    24 ноя 2015
    Сообщения:
    27
    Симпатии:
    0
    Dotrox, а где этот файл находится?
     
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.053
    Симпатии:
    779
    /catalog/language/russian/shipping/
    А дальше для каждого модуля доставки отдельный файл и сразу говорю, что я не знаю, как ваш называется.
     
    line4_17 нравится это.
  9. line4_17

    line4_17

    Регистрация:
    24 ноя 2015
    Сообщения:
    27
    Симпатии:
    0
    Заменила это

    PHP:
    <?php
    // Text
    $_['text_title']  = 'Доставка по Москве и за МКАД';
    $_['text_weight'] = 'Вес:';
    $_['km']  = ' км.';
    $_['text_title_moscow'] = '<span class="moscow_shipping_title">Доставка по Москве</span>';
    $_['moscow_description'] = 'Стоимость доставки в пределах МКАД';
    $_['text_title_zamkad'] = '<span class="moscow_shipping_title">Доставка за МКАД</span>';
    $_['zamkad_description'] = 'Расстояние от МКАД';
    $_['zamkad_noaddress'] = '<em class="error moscow-error" style="display: inline;">Для рассчета стоимости доставки укажите населенный пункт и адрес доставки.</em>';
    $_['zamkad_fault'] = '<em class="error moscow-error" style="display: inline;">Не удалось рассчитать расстояние. Стоимость доставки Вы узнаете после оформления заказа.</em>';
    $_['zamkad_toofar'] = '<em class="error moscow-error" style="display: inline;">Извините, мы не доставляем заказы дальше, чем %d км за МКАД. Выберите другой способ доставки.</em>';
    ?>
    на это
    PHP:
    <?php
    // Text
    $_['text_title']  = 'Доставка по Москве и за МКАД';
    $_['text_weight'] = 'Вес:';
    $_['km']  = ' км.';
    $_['text_title_moscow'] = 'Доставка по Москве';
    $_['moscow_description'] = 'Стоимость доставки в пределах МКАД';
    $_['text_title_zamkad'] = '<span class="moscow_shipping_title">Доставка за МКАД</span>';
    $_['zamkad_description'] = 'Расстояние от МКАД';
    $_['zamkad_noaddress'] = '<em class="error moscow-error" style="display: inline;">Для рассчета стоимости доставки укажите населенный пункт и адрес доставки.</em>';
    $_['zamkad_fault'] = '<em class="error moscow-error" style="display: inline;">Не удалось рассчитать расстояние. Стоимость доставки Вы узнаете после оформления заказа.</em>';
    $_['zamkad_toofar'] = '<em class="error moscow-error" style="display: inline;">Извините, мы не доставляем заказы дальше, чем %d км за МКАД. Выберите другой способ доставки.</em>';
    ?>
    все вылечилось

    СПАСИБО!!!
    --- Добавлено, 28 дек 2015 ---
    У меня эти ошибки плодятся)))
    это у всех так или только у меня?

    2015-12-26 12:36:00 - PHP Warning: sprintf(): Too few arguments in /home/a/anyuta63/b-dreams.ru/public_html/catalog/controller/checkout/success.php on line 55
    2015-12-26 15:12:47 - PHP Warning: sprintf(): Too few arguments in /home/a/anyuta63/b-dreams.ru/public_html/catalog/controller/checkout/success.php on line 53

    там это:
    PHP:
        if ($this->customer->isLogged()) {
                
    $this->data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/account''''SSL'), $this->url->link('account/order''''SSL'), $this->url->link('account/download''''SSL'), $this->url->link('information/contact'));
            } else {
                
    $this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'));
            }
     
    Lasted edited by : 28 дек 2015
  10. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.053
    Симпатии:
    779
    Что у вас в файле /catalog/language/russian/checkout/success.php?

    Ошибка указывает на то, что в функцию sprintf() передано меньше аргументов, чем она должна подставить в языковую строку.
     
    line4_17 нравится это.
  11. line4_17

    line4_17

    Регистрация:
    24 ноя 2015
    Сообщения:
    27
    Симпатии:
    0
    там это
    PHP:
    <?php
    // Heading
    $_['heading_title'] = 'Ваш заказ сформирован!';

    // Text
    $_['text_customer'] = '<p>Ваш заказ <a href="%s">№%s</a> успешно сформирован!</p><p>Вы можете просматривать все ваши заказы в <a href="%s">Личном кабинете</a> в разделе <a href="%s">"История заказов"</a>.</p><p>Если ваша покупка связана с файлом для скачивания, тогда вам нужно перейти в раздел <a href="%s">"Файлы для скачивания"</a> и скачать купленный товар.</p><p>Все свои вопросы вы можете направить в <a href="%s">Службу поддержки</a> клиентов нашего магазина.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>';
    $_['text_guest']    = '<p>Ваш заказ №%s успешно сформирован!</p><p>Пожалуйста, направляйте в <a href="%s">Службу поддержки</a> любые ваши вопросы.</p><p>Зарегистрированным покупателям доступен просмотр состояния заказов и возможность просмотра истории прошлых покупок.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>';
    $_['text_basket']   = 'Корзина';
    $_['text_checkout'] = 'Оформить заказ';
    $_['text_success']  = 'Операция выполнена успешно';
    ?>
     
    Lasted edited by : 29 дек 2015