Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Master2KAZ

Пользователи
  
  • Публикаций

    54
  • Зарегистрирован

  • Посещение

Все публикации пользователя Master2KAZ

  1. Master2KAZ

    Модуль "Меню"

    Сколько стоит ваш модуль меню?
  2. Тоже интересует данный вопрос. Отпишитесь кто знает?
  3. +100500 Премного благодарен! Тоже думал над такой "двойной сортировкой". Уже думал склеивать результаты двух запросов с quantity >0 и =0 в 1 массив. Но интуиция подсказывала мне, что это извращение. А потом и логика подтвердила наличие проблем при пагинации. А все гениально и просто! Эта строка для меня сегодня просто "шедевр". +100500 Премного благодарен!
  4. Если совет AlexDW не помог на 100%. В фильтрПро возможно свой файл модели. Там ищите аналогичную функцию getProductSpecials.
  5. Версия Опенкарт какая?? Для Опенкарт 2.2.0.0 Файл \catalog\view\javascript\common.js Строки 203-206. Здесь обновляется в реальном времени кол-во товара и цена (json['total']). Возможно у вас функция cart.add переписана. // Need to set timeout otherwise it wont update the total setTimeout(function () { $('#cart > button').html('<div class="col-sm-1"><i class="fa fa-shopping-cart"></i></div><div class="col-sm-1"><span id="cart-total">' + json['total'] + '</span></div>'); }, 100); Либо в модуле корзины <span id="cart-total"> имеет id не "cart-total".
  6. ))) Если все еще актуально. Для Опенкарт 2.2.0.0: 1. Открываете файл \admin\view\javascript\summernote\summernote.js 2. Строка 598 var blankHTML = agent.isMSIE && agent.browserVersion < 11 ? ' ' : '<br>'; Читаем как - "если IE и версия ниже 11, то используем ' ', в противном случае '<br>' Соответственно, меняете на свой вариант текста или хтмл-кода. 3. Строка 1404 emptyPara: '<p>' + blankHTML + '</p>', Это тот самый злополучный <p><br><p>. Можно заменить на '', но есть проблемка - в админке, например в статьях, текст получается меньше 3 символов. Либо отключаем в контроллере проверку на кол-во символов, либо ничего не делаем с summernote.
  7. Привет всем! Есть форма, в которой есть вспомогательные input'ы. Они нужны для использования, но не нужно их сохранять в настройках. Вопрос: можно как-то безгеморройно сделать так чтобы они не сохранялись в настройках? Возможно есть какой-то атрибут, который не передает потом инпут вместе с остальными параметрами. Сорри, если тупо и непонятно написал. P.S. Атрибут disabled не подойдет, так как он делает поле недоступным для использования.
  8. ОшибкаSQL запрос: INSERT INTO `oc_product_to_opbcm`(`product_id`, `price`, `koeff`) VALUES (SELECT p.`product_id`, p.`price`, 1.45 FROM `oc_product` p WHERE p.`product_id` NOT IN (SELECT `product_id` FROM `oc_product_to_opbcm`)) Ответ MySQL: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT p.`product_id`, p.`price`, 1.45 FROM `oc_product` p WHERE p.`product_id` ' at line 2
  9. Replace разве не заменяет?? Мне не надо чтобы заменяло, а просто добавило те, что нет. Или я чего-то еще не знаю?
  10. INSERT INTO `oc_product_to_opbcm`(`product_id`, `price`, `koeff`) VALUES SELECT p.`product_id`, p.`price`, 1.45 FROM `oc_product` p LEFT JOIN `oc_product_to_opbcm` p2o ON p.`product_id`=p2o.`product_id` WHERE (p2o.`koeff` IS NULL); Чего хочу: в таблице oc_product_to_opbcm уже есть определенные товары, хочу добавить туда все товары, кроме тех, что уже есть в таблице. Вопрос: что делаю не так?
  11. Спасибо всем! Уже решил вопрос другим путем. Но буду знать на будущее!
  12. Что делаю не так? DELETE FROM (`oc_product_image` opi LEFT JOIN `oc_product` p ON (opi.`product_id`=p.`product_id`)) WHERE (opi.`image`=p.`image`); Суть: нужно из oc_product_image удалить картинки, которые есть в oc_product. Выдает ошибку синтаксиса.
  13. Ну не знаю. Если запрос дает список с категориями, названиями и айди родительской категории, и возвращает parent_id=0, в то время как он не 0. Я так полагаю, что это ошибка. Хотя может я из "другой геометрии", и чего-то не понимаю.
  14. Сорри, что не понятно выразился. Да, нужно узнать родит. категорию. Но я уже решил вопрос. Просто скопировал эту часть запроса с ocStore 1.5.5.1.2 )))))) B запрос стал правильно работать. Просто непонятно почему эту ошибку еще не исправили. Дистрибутив Опенкарта скачал буквально неделю назад.
  15. Не знаю, может у меня что не так. Opencart 1.5.6.4 Функция getCategories возвращает все parent_id = 0. public function getCategories($data) { $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR ' > ') AS name, c.parent_id, c.sort_order FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c ON (cp.path_id = c.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (c.category_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'"; if (!empty($data['filter_name'])) { $sql .= " AND cd2.name LIKE '" . $this->db->escape($data['filter_name']) . "%'"; } $sql .= " GROUP BY cp.category_id ORDER BY name"; 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; } Вопрос, что не так?
  16. Приветствую всех! Такая задачка. Пишу парсер XML. Товаров около 9 тыс. Работает медленною, теперь пытаюсь оптимизировать. Появилась идея. Если в магазине несколько языков, то названия атрибутов, групп аттрибутова, категорий, продуктов сохраняются несколько раз с разными language_id. В следствие чего мы получаем кол-во запросов на вставку в "кол-во_языков" раз больше. Идея такая. А почему бы не загнать все категории, товары и т.п. сначала с одним language_id, а потом скопировать эти записи и вставить с другими language_id. Интересует мнение профессионалов - насколько это реально? ускорит ли это работу парсера? снизит ли нагрузку на БД? Думал сам протестировать и проверить, но мозгов не хватает правильно составить запрос. Получается, что нужно сначала SELECT всех товаров с language_id=1, потом UPDATE их на language_id=2, и результат потом INSERT. Помогите, пожалуйста, если это вообще реально))))
  17. Кажется нашел ответ. SELECT `product_id` FROM `oc_product_attribute` WHERE `text` IN('100мгц','123') GROUP BY `product_id` HAVING COUNT(DISTINCT `text`)=2 Соответственно, если 5 атрибутов, то и count должен быть равен 5.
  18. Вот с двумя значениями я делал так: SELECT a.product_id FROM oc_product_attribute a, oc_product_attribute b WHERE a.product_id=b.product_id and a.text='i3' and b.text='1 Gb'; А как сделать, когда этих атрибутов ( кроме проца и озу) много - это вопрос. Или есть задумка другого варианта - сделать сначала запрос на выборку всех компов с проц 'i3', а потом запрос на выборку компов с ОЗУ 1 Гб. Но вот не знаю, как вытащить общие строки из этих двух запросов.
  19. не совсем то. Например, у нас среди товаров компьютеры. Есть компьютеры с процессором i3, i5, i7, с ОЗУ 1 Гб, 2 Гб, 4 Гб. Комп | Атрибут | Значение ----------------------------------- Комп1 | Проц | i3 Комп1 | ОЗУ | 1 Gb Комп2 | Проц | i3 Комп2 | ОЗУ | 2 Gb Комп3 | Проц | i5 Комп3 | ОЗУ | 1 Gb Комп4 | Проц | i3 Комп4 | ОЗУ | 1 Gb Нужно выбрать все компы, например, c Проц i3 и ОЗУ 1 Gb, т.е. в данном случае Комп1 и Комп4.
  20. Что-то сообразить не могу, как написать запрос на выборку всех продуктов, которые имеют атрибуты со значениями "текст1", "текст2", "текст3" одновременно.
  21. Т.е. написать отдельный контроллер, в котором загружаю все настройки и по ним запускаю функцию из модели, а потом этот контроллер инициализирую в своем скрипте? updated. Вы ответили раньше чем я задал вопрос))) Спасибо
  22. Возможно, я не понял, что вы написали. Что мне даст инициализация контроллера?
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.