Ошибки сторонней сборки

Тема в разделе "Обо всём", создана пользователем kentttt, 11 дек 2015.

  1. kentttt

    kentttt Новичок

    Сообщения:
    0
    Симпатии:
    0
    Помогите исправить ошибку на сайте.
    Сборка ocStore 2.1.01, при включенном SeoPro (ЧПУ) возникает ошибка:
    Добавляем товар в корзину, переходим в корзину, жмём на красный крестик удаления из корзины – товар по факту удаляется (если обновить страницу), но остаётся висеть на страничке, при том, что корзина, которая в шапке исправно работает.
    Обновление кол-ва товара (соседняя кнопка) исправно работает и обновляет страницу.
    При выключенном SeoPro всё исправно работает, но хочется именно с нормальными ссылками иметь сайт.

    Подобную проблему я находил в интернете, но решение не работало:
    forum.opencart-russia.ru/...
    кроме этого решения я не нашел другого в интернете.

    Шаблон стандартный, изменений особых не было, включил SeoPro, настроил .htaccess
    Скорее всего ошибка кроется в common.js

    Сайт: http://lada-part.com/

    URLы все на ЧПУ, включая корзину и оплату...
     
  2. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.340
    Симпатии:
    692
    Пишите авторам сборки! Там много еще ошибок!!
     
  3. kentttt

    kentttt Новичок

    Сообщения:
    0
    Симпатии:
    0
    В общем проблему решил методом тыка, хочется, чтобы пояснили, что я сделал, и не повлияет ли это на работу.
    В общем в Корзине есть две кнопки, расположенные рядом, обновить (она у меня исправно работала, вводил кол-во товара, жал обновить, товар обновлялся) и соседняя Удалить (она не работала, вернее по факту удаляла, но на странице это отображалось только после обновления страницы)

    Полез я в файл checkout/cart.tpl

    Нашёл там строки, отвечающие за эти две кнопки Обновить и Удалить, так было:
    Код:
    <button type="submit" data-toggle="tooltip" title="<?php echo $button_update; ?>" class="btn btn-primary"><i class="fa fa-refresh"></i></button>
    <button type="button" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger" onclick="cart.remove('<?php echo $product['cart_id']; ?>');"><i class="fa fa-times-circle"></i></button></span></div></td>
    Я сменил type="button" у кнопки Удалить, на type="submit" (такой же как у кнопки Обновить) и всё заработало:
    Код:
    <button type="submit" data-toggle="tooltip" title="<?php echo $button_update; ?>" class="btn btn-primary"><i class="fa fa-refresh"></i></button>
    <button type="submit" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger" onclick="cart.remove('<?php echo $product['cart_id']; ?>');"><i class="fa fa-times-circle"></i></button></span></div></td>
    Я делал чисто логически, подумав, что раз этот тип отрабатывает обновление, то почему бы не попробовать присвоить его и кнопке удалить... А теперь, кто понимает, что я натворил, расскажите мне))
     
  4. Imbastyle

    Imbastyle Новичок

    Сообщения:
    0
    Симпатии:
    0
    Я конечно прошу прощения за некропостинг, но ответов не нашел...

    Вылетает при попытке создать нового производителя. 2.1.0.1
     
  5. Vlad

    Vlad Эксперт

    Сообщения:
    3.906
    Симпатии:
    938
  6. Falconwork

    Falconwork Новичок

    Сообщения:
    0
    Симпатии:
    0
    Я конечно не "гуру" но, немного порывшись в файлах нашел куда вставить зяпятую
    /admin/model/catalog/manufacturer.php
    строка 14-15
    ...

    foreach ($data['manufacturer_description'] as $language_id => $value) {
    $this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer_description SET manufacturer_id = '" . (int)$manufacturer_id . "', language_id = '" . (int)$language_id . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
    ...

    после изменений тест прошел удачно
     
    Последнее редактирование: 13 дек 2015
  7. Falconwork

    Falconwork Новичок

    Сообщения:
    0
    Симпатии:
    0
    Нашел еще ошибки в работе с Производителями чтобы доло их не перечислять просто выкладываю листинг кода для обновленного файла /admin/model/catalog/manufacturer.php
    Код:
    <?php
    class ModelCatalogManufacturer extends Model {
        public function addManufacturer($data) {
            $this->event->trigger('pre.admin.manufacturer.add', $data);
    
            $this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', sort_order = '" . (int)$data['sort_order'] . "'");
    
            $manufacturer_id = $this->db->getLastId();
    
            if (isset($data['image'])) {
                $this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET image = '" . $this->db->escape($data['image']) . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
            }
    
            foreach ($data['manufacturer_description'] as $language_id => $value) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer_description SET manufacturer_id = '" . (int)$manufacturer_id . "', language_id = '" . (int)$language_id . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
            }
    
            if (isset($data['manufacturer_store'])) {
                foreach ($data['manufacturer_store'] as $store_id) {
                    $this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer_to_store SET manufacturer_id = '" . (int)$manufacturer_id . "', store_id = '" . (int)$store_id . "'");
                }
            }
    
            if (isset($data['keyword'])) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'manufacturer_id=" . (int)$manufacturer_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");
            }
    
            $this->cache->delete('manufacturer');
    
            $this->event->trigger('post.admin.manufacturer.add', $manufacturer_id);
    
            return $manufacturer_id;
        }
    
        public function editManufacturer($manufacturer_id, $data) {
            $this->event->trigger('pre.admin.manufacturer.edit', $data);
    
            $this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', sort_order = '" . (int)$data['sort_order'] . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    
            if (isset($data['image'])) {
                $this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET image = '" . $this->db->escape($data['image']) . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
            }
    
            $this->db->query("DELETE FROM " . DB_PREFIX . "manufacturer_description WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    
            foreach ($data['manufacturer_description'] as $language_id => $value) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer_description SET manufacturer_id = '" . (int)$manufacturer_id . "', language_id = '" . (int)$language_id . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
            }
    
            $this->db->query("DELETE FROM " . DB_PREFIX . "manufacturer_to_store WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    
            if (isset($data['manufacturer_store'])) {
                foreach ($data['manufacturer_store'] as $store_id) {
                    $this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer_to_store SET manufacturer_id = '" . (int)$manufacturer_id . "', store_id = '" . (int)$store_id . "'");
                }
            }
    
            $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'manufacturer_id=" . (int)$manufacturer_id . "'");
    
            if ($data['keyword']) {
                $this->db->query("INSERT INTO " . DB_PREFIX . "url_alias SET query = 'manufacturer_id=" . (int)$manufacturer_id . "', keyword = '" . $this->db->escape($data['keyword']) . "'");
            }
    
            $this->cache->delete('manufacturer');
    
            $this->event->trigger('post.admin.manufacturer.edit', $manufacturer_id);
        }
    
        public function deleteManufacturer($manufacturer_id) {
            $this->event->trigger('pre.admin.manufacturer.delete', $manufacturer_id);
    
            $this->db->query("DELETE FROM " . DB_PREFIX . "manufacturer WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
            $this->db->query("DELETE FROM " . DB_PREFIX . "manufacturer_to_store WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
            $this->db->query("DELETE FROM " . DB_PREFIX . "url_alias WHERE query = 'manufacturer_id=" . (int)$manufacturer_id . "'");
            $this->db->query("DELETE FROM " . DB_PREFIX . "manufacturer_description WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    
            $this->cache->delete('manufacturer');
    
            $this->event->trigger('post.admin.manufacturer.delete', $manufacturer_id);
        }
    
        public function getManufacturer($manufacturer_id) {
            $query = $this->db->query("SELECT DISTINCT *, (SELECT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'manufacturer_id=" . (int)$manufacturer_id . "') AS keyword FROM " . DB_PREFIX . "manufacturer WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    
            return $query->row;
        }
    
        public function getManufacturerDescriptions($manufacturer_id) {
            $manufacturer_description_data = array();
    
            $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer_description WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    
            foreach ($query->rows as $result) {
                $manufacturer_description_data[$result['language_id']] = array(
                    'meta_title'       => $result['meta_title'],
                    'meta_h1'          => $result['meta_h1'],
                    'meta_description' => $result['meta_description'],
                    'meta_keyword'     => $result['meta_keyword'],
                    'description'      => $result['description']
                );
            }
    
            return $manufacturer_description_data;
        }
    
        public function getManufacturers($data = array()) {
            $sql = "SELECT * FROM " . DB_PREFIX . "manufacturer";
    
            $sql = "SELECT c.manufacturer_id, c.name, c.sort_order FROM " . DB_PREFIX . "manufacturer c LEFT JOIN " . DB_PREFIX . "manufacturer_description md ON (c.manufacturer_id = md.manufacturer_id) WHERE md.language_id = '" . (int)$this->config->get('config_language_id') . "'";
    
    
    
            if (!empty($data['filter_name'])) {
                $sql .= " AND name LIKE '" . $this->db->escape($data['filter_name']) . "%'";
            }
    
            $sort_data = array(
                'name',
                'sort_order'
            );
    
            if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
                $sql .= " ORDER BY " . $data['sort'];
            } else {
                $sql .= " ORDER BY name";
            }
    
            if (isset($data['order']) && ($data['order'] == 'DESC')) {
                $sql .= " DESC";
            } else {
                $sql .= " ASC";
            }
    
            if (isset($data['start']) || isset($data['limit'])) {
                if ($data['start'] < 0) {
                    $data['start'] = 0;
                }
    
                if ($data['limit'] < 1) {
                    $data['limit'] = 20;
                }
    
                //$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
            }
    
            $query = $this->db->query($sql);
    
            return $query->rows;
        }
    
        public function getManufacturerStores($manufacturer_id) {
            $manufacturer_store_data = array();
    
            $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer_to_store WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
    
            foreach ($query->rows as $result) {
                $manufacturer_store_data[] = $result['store_id'];
            }
    
            return $manufacturer_store_data;
        }
    
        public function getTotalManufacturers() {
            $sql2 = "SELECT COUNT(*) AS total FROM " . DB_PREFIX . "manufacturer c LEFT JOIN " . DB_PREFIX . "manufacturer_description md ON (c.manufacturer_id = md.manufacturer_id) WHERE md.language_id = '" . (int)$this->config->get('config_language_id') . "'";
           
            //$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "manufacturer");
            $query = $this->db->query($sql2);
    
            return $query->row['total'];
        }
    }
    
     
  8. Каптёр

    Каптёр Новичок

    Сообщения:
    0
    Симпатии:
    0
    Отключил в админке банеры "Производители" и "Слайдшоу на главной". Но банеры по прежнему на месте... У кого-то были такие проблемы? Что делать?
    Версия ocStore 2.1.0.1.1

    Отключаем банеры:
    Scr1.jpg

    а они остаются...
    Scr2.jpg

    P.S. Кэш чистил, страницу обнавлял, локальный сервер перезагружал, комп тоже, с бубном танцевал.
     
  9. Vlad

    Vlad Эксперт

    Сообщения:
    3.906
    Симпатии:
    938
    Спросите у авторов сборки. Мы конечно можем помочь, но не дело это разбираться в ошибках сборки, где тысячу изменений от оригинала.

    попробуйте убрать в макетах с макета Home данные модули.
     
  10. Каптёр

    Каптёр Новичок

    Сообщения:
    0
    Симпатии:
    0
    Влад, спасибо!
    Меня недавно из роддома выписали ) поэтому для меня новость, что ocStore - это не совсем OpenCart )
    Подскажите пожалуйста стабильную сборку официального OpenCart переведенного на русский.
     
  11. Vlad

    Vlad Эксперт

    Сообщения:
    3.906
    Симпатии:
    938
  12. Marsiane

    Marsiane Новичок

    Сообщения:
    0
    Симпатии:
    0
    Приветствую.

    Есть ocStore-2.1.0.1
    Есть админка.
    Есть производители, которых в базе больше, чем отображается. При внесении нового производителя общее кол-во увеличивается.
    Подскажете где копать?
     

    Вложения:

  13. Vlad

    Vlad Эксперт

    Сообщения:
    3.906
    Симпатии:
    938
    у них и спрашивайте ))) Мы не в ответе за сборку у которой 1000 изменений в отличие от оригинала!
     
  14. Marsiane

    Marsiane Новичок

    Сообщения:
    0
    Симпатии:
    0
    Ага, у вас тут каждый в своей банде :)

    Спасибо!
     
  15. Vlad

    Vlad Эксперт

    Сообщения:
    3.906
    Симпатии:
    938
    Ну как бы да. В нашей банде, помогают, если отказали официально. А так, зачем копаться в чужом, когда есть свое родное!!
    Пусть за свои ошибки сами отвечают! ))
     
    Bkmz нравится это.
  16. Marsiane

    Marsiane Новичок

    Сообщения:
    0
    Симпатии:
    0
    Смотрим глазками в логи
     
  17. wioso

    wioso Новичок

    Сообщения:
    1
    Симпатии:
    0
    Всем доброго дня, столкнулся с проблемой при добавление товару категории или подкатегории, купил шаблон на официальном сайте разработчика шаблонов, он английский полностью, версия opencart 2.0.3 . У меня стояла до этого 2.0.1 соответственна я установил авто установку полностью купленного шаблона, мало того что я его сижу перевожу, так у меня еще куча проблем с этим вылазиет!!! за 48 БАКСОВ я сижу теперь как пчелка и строчу опять но новой категории и товары!!! А у меня проблема за проблемой...
    Отбросим мои смуты и перейду к краткому вопросу:

    У версия opencart 2.0.1 нуленая установка (там SEO PRO + удобный интерфейс добавление подкатегорий в товаре в виде ЧЕК БОКСОВ полным списком фото прилагаю.)
    Версия 2,0,3 располагает стандартной вариант автозаполнения который как упертый баран не хочет добавлять ПОДКАТЕГОРИЮ ТОВАРУ!! (((

    Попытка перекинуть с одного в другой простой заменой не помогает ошибки так и прут , там у меня еще была такая графа к добавлению H1 после ТИТЛ... так вот ее тоже нету в 2,0,3.
     

    Вложения:

    • 1op.jpg
      1op.jpg
      Размер файла:
      58,5 КБ
      Просмотров:
      3
    • 2op.jpg
      2op.jpg
      Размер файла:
      49 КБ
      Просмотров:
      3
    • 3op.jpg
      3op.jpg
      Размер файла:
      121,9 КБ
      Просмотров:
      3
  18. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.340
    Симпатии:
    692
    за ошибками к авторам сборки. Многие шаблоны и модули не совместимы со сборками типа оксторе или окшопа
     
  19. wioso

    wioso Новичок

    Сообщения:
    1
    Симпатии:
    0
    Они говорят покупай расширение на сайте opencart которое делает подобное, стоит баксов а подобного там нет, http://www.opencart.com/index.php?route=extension/extension/info&extension_id=19999 вот это сие чудо , но ведь в сборке которую выложили нуленую уже включено это каким то макаром дописали просто в файле product.php который в админке. Я просто не понимаю что там нужно и какому блоку дописать..... может просто копировать с 2,0,1 в 2,0,3
     
  20. gertrud

    gertrud Новичок

    Сообщения:
    5
    Симпатии:
    0
    Если категория пустая и туда добавить 1 товар - то он отображается.
    Последующие товары, если добавлять их, не отображаются.
    Если отключить первый товар , то появится другой товар, но только 1. что делать?