Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Search the Community

Showing results for tags 'sql'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Genaral
    • Новини та оголошення
    • Пропозиції та побажання
    • Акції, подарунки, конкурси та винагороди
  • Opencart 4.x
    • Opencart 4.x: General questions
    • Opencart 4.x: Installing and updating
    • Opencart 4.x: Localization
    • Opencart 4.x: Setting and optimization
    • Opencart 4.x: Sandbox
    • Opencart 4.x: Extension search
    • Opencart 4.x: Bug Reporting
  • Opencart 3.x
    • Opencart 3.x: General questions
    • Opencart 3.x: Installing and updating
    • Opencart 3.x: Localization
    • Opencart 3.x: Setting and optimization
    • Opencart 3.x: Sandbox
    • Opencart 3.x: Extension search
    • Opencart 3.x: Bug Reporting
  • Opencart 2.x
    • Opencart 2.x: General questions
    • Opencart 2.x: Installing and updating
    • Opencart 2.x: Localization
    • Opencart 2.x: Setting and optimization
    • Opencart 2.x: Sandbox
    • Opencart 2.x: Extension search
    • Opencart 2.x / ocStore 2.x: Bug Reporting
  • Реклама и продвижение
    • SEO-питання (оптимізація та просування магазину)
    • Контекстная реклама
    • Торговые площадки
    • E-commerce tracking и бизнес аналитика
    • Разное
  • Підтримка та відповіді на запитання.
    • Загальні питання
    • Встановлення, оновлення, налаштування
    • Шаблони, дизайн та оформлення магазину
    • Модули и дополнения
    • Допомога програмістам та розробникам
    • Мобильная витрина
    • Вопросы безопасности
    • Переклад
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Услуги
    • Creation of stores
    • Дизайн, верстка и шаблоны
    • Программирование, создание модулей, изменение функциональности
    • Настройка и мелкая работа по уже существующему сайту
    • Shop engine version update
    • Store filling
    • System administration (configuring hosting, servers, software)
    • Другие услуги
  • Разное
    • Пользовательские обзоры дополнений
    • Примеры сайтов на OpenCart (ocStore)
    • Курилка
    • Предложения по улучшению

Categories

  • Templates
    • Free templates
    • Платные шаблоны
  • Filters
  • Promotions & Pricing
  • Реклама и продвижение
  • Coupons & reward points, affiliate programs
  • Blogs, News & Articles
  • Reviews
  • Shopping Cart & Order
  • Product Options
  • Product Attributes
  • Product Combinations
  • Search
  • SEO & Optimization
  • Caching & Server Performance
  • Платіжні системи
  • Доставки
  • Editors
  • Design & Navigation
  • Banners, Slideshows & Galleries
  • Email Marketing & SMS Integration
  • Customer Support & Chat
  • Обмен данными
  • Учет в заказе
  • Compare & Wishlist
  • Социальные сети
  • Parsers
  • Модули
  • Tools & Developer Tools
  • Licenses
  • Language packages
  • Other
  • Отчеты
  • Сборки
    • ocStore
  • Services
    • Графика и дизайн
    • Маркетинг

Categories

  • Служебные документы
  • Оплата
  • Документация Opencart

Categories

  • Gereneral questions
  • Purchasing extensions
  • For developer
  • Account
  • Technical support
  • Financial department

Blogs

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • Прожектор Бритни Спирс
  • Layk
  • Продвижение интернет-магазина, seo оптимизация
  • Записная книжка
  • Блог RGB
  • Модули которые сделают сайт лучше
  • Блог веб-студии NeoSeo
  • Useful IT
  • Записи
  • Найденные решения проблем с Opencart
  • ocdroid blog
  • Заметки на полях...
  • Pimur
  • Серж Ткач
  • О жизни, смерти, о бизнесе и Опенкарте
  • Просто мысли от laim731
  • Маркетинг и продвижение интернет-магазина
  • Мой копирайтинг
  • SEO боксинг специального назначения
  • Get-Web Dev
  • Seok
  • Блоги sitecreator-а
  • Best practice
  • Vlad-Egorov-Blog
  • Блог spectre
  • commanddotcom
  • Внимание мошенники
  • Наблюдения обычного человека
  • Блог Rassol2
  • Блог Exploits
  • блог для натуралов
  • Настюша, тут есть темы
  • Пропитано рекламой
  • Tutorial
  • ОтВинта
  • Tg chnls
  • Блог
  • Блог sv2109
  • КАК ОРГАНИЗОВАТЬ НОВОСТНЫЕ ПОДПИСКИ НА БАЗЕ API OPENCART 3/0/2
  • VDS/VPS, серверы под Linux: установка, настройка, оптимизация
  • IT блог
  • Блог
  • Opencart SEO
  • Путёвые заметки о работе магазина NiceBike на платформе OpenCart
  • Blondi Blog
  • Полезные статьи, новости.
  • Блог владельца магазина
  • разное
  • ПРОДАЖА АКАУНТОВ-binance ВЕРИФИЦИРОВАННЫe ЧИСТЫЕ УСПЕВАЙТЕ КУПИТЬ ПО НИЗКОЙ ЦЕНЕ
  • Диспансеризация
  • wozobat
  • quasarbyte
  • Мой блог
  • Igorych
  • aaaaa
  • 👌🔊Bellsouth CUSTOMER support number 1+(8O8)678=9O64-☎phone number
  • Liudmila marketer
  • Заметки реалиста
  • ocstore на ноліках
  • Про Opencart
  • Блог про рутинні процеси в магазині на ocsote
  • Radaevich
  • Плагіни Opencart
  • Крафтовий OpenCart: Старт пригоди. Ціна створення сайту на Опенкарт
  • Щось про щось
  • Від власника до розробника

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Сайт


Skype


City:


Interests

Found 20 results

  1. Добрый день. Переношу данные с сайта на сайт при помощи инструмента "Бэкап -Восстановление". Но на старом сайте были добавлены кастомные значение в базу данных. Теперь они не нужны и для переноса требуется их удалить из всех товаров. Товаров очень много, как сделать что-бы во всех товарах это изменение вступило в силу? Пример с файлами загрузки: INSERT INTO `oc_download` (`download_id`, `filename`, `mask`, `date_added`, `file_size`) VALUES ('194', 'john-deere/TM10258_u.pdf.LSstSfyPYzVRFo3UtrOcijwy7igu2Bvs', 'TM10258_u.pdf', '2021-07-29 22:44:45', '18064629'); INSERT INTO `oc_download` (`download_id`, `filename`, `mask`, `date_added`, `file_size`) VALUES ('2938', 'john-deere/tm10544_u.pdf.TXT2n0oSjdbLblQMhPehaktAnAo4kA1r', 'tm10544_u.pdf', '2021-09-26 22:58:22', '101023658'); Как удалить у всех товаров ячейку ", `file_size`" и соответственно его значение? Пример с товарами: INSERT INTO `oc_product` (`product_id`, `model`, `sku`, `upc`, `ean`, `jan`, `isbn`, `mpn`, `location`, `quantity`, `stock_status_id`, `image`, `manufacturer_id`, `shipping`, `price`, `points`, `tax_class_id`, `date_available`, `weight`, `weight_class_id`, `length`, `width`, `height`, `length_class_id`, `subtract`, `minimum`, `sort_order`, `status`, `viewed`, `date_added`, `date_modified`, `noindex`, `doc_code`, `short_description`, `ftp_file_link`) VALUES ('979', 'TM4699', '', '', '', '', '', '', '', '1', '7', 'catalog/manual/john-deere/tm4699-0.jpg', '11', '0', '50.0000', '0', '10', '2021-01-01', '0.00000000', '1', '0.00000000', '0.00000000', '0.00000000', '1', '1', '1', '979', '1', '23', '2021-08-10 11:09:44', '2021-08-10 11:09:44', '1', '00979', 'Language: English; Format: PDF, 760 pages; Covered models (S.N. before 047353): 1450; 1550; 1450 CWS; 1550 CWS; ', ''); INSERT INTO `oc_product` (`product_id`, `model`, `sku`, `upc`, `ean`, `jan`, `isbn`, `mpn`, `location`, `quantity`, `stock_status_id`, `image`, `manufacturer_id`, `shipping`, `price`, `points`, `tax_class_id`, `date_available`, `weight`, `weight_class_id`, `length`, `width`, `height`, `length_class_id`, `subtract`, `minimum`, `sort_order`, `status`, `viewed`, `date_added`, `date_modified`, `noindex`, `doc_code`, `short_description`, `ftp_file_link`) VALUES ('980', 'TM4712', '', '', '', '', '', '', '', '1', '7', 'catalog/manual/john-deere/tm4712-0.jpg', '11', '0', '55.0000', '0', '10', '2021-01-01', '0.00000000', '1', '0.00000000', '0.00000000', '0.00000000', '1', '1', '1', '980', '1', '25', '2021-08-10 11:09:44', '2021-08-10 11:09:44', '1', '00980', 'Language: English; Format: PDF, 1427 pages; Covered models: 9780CTS (SN: 072800 - ); ', ''); Как удалить у всех товаров ", `doc_code`, `short_description`, `ftp_file_link`" и соответственно их значения? Пробовал по видео в notepad++ при помощи регулярных выражений, не получилось. Можно готовое решение?
  2. Добрый день. Пытаюсь с помощью SQL запроса скрыть категории, в которых нет товаров в статусе "Активен". Вот такая конструкция почему-то не работает: UPDATE oc_category SET status=0 WHERE category_id in (SELECT distinct category_id FROM oc_product_to_category pc, oc_product p WHERE pc.product_id=p.product_id AND p.status=0) Запрос переводит вообще все категории в статус 0, даже те, в которых есть активные товары. Прошу помощи с запросом.
  3. Привели мне пациента... 500к товаров 7к уников в день 150к записей в таблице order. Вобщем не ларек. И вот на категории в 50-60к товаров этот не ларек генерится 12 секунд! Не ну а че... Это ж опенкарт... Это ж не годится для больших магазинов. Никто не смог помочь. Как обычно вот эти сказки школотронов от программизма. В среднем страницы загружаются 2-4 сек, делаем быстро.все решаем, получаем 200-400мс, но на больших категориях все равно дичь. Смотрим запросы находим вот такое прекрасное, да еще и дважды инициализируемое: $sql = "SELECT p.product_id, (SELECT Count(op.order_id) AS popular FROM oc_order_product op LEFT JOIN `oc_order` o ON ( op.order_id = o.order_id ) WHERE op.product_id = p.product_id AND Adddate(o.date_added, INTERVAL 30 day) < Now() AND o.order_status_id > '0' GROUP BY op.product_id ORDER BY popular DESC) AS popular FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON ( cp.category_id = p2c.category_id ) LEFT JOIN oc_product p ON ( p2c.product_id = p.product_id ) LEFT JOIN oc_product_description pd ON ( p.product_id = pd.product_id ) LEFT JOIN oc_product_to_store p2s ON ( p.product_id = p2s.product_id ) WHERE pd.language_id = '1' AND p.status = '1' AND p2s.store_id = '0' AND cp.path_id = '". (int)$category_id ."' GROUP BY p.product_id ORDER BY ( p.quantity > 0 ) DESC, popular DESC, Lcase(pd.name) DESC, p.date_added DESC LIMIT 0, 3 "; Ржавый фак и Винни-Пух. Это просто какая то жестяная жесть, джоин на джоин на джоин, при чем наборы 60 к товаров, 300 категорий и порядка 10-20к заказов. И сложная сортировка-группировка этого всего по разным таблицам, да еще и по предвычисляемому полю p.quantity > 0 все те школотроны, которые в гугле прочитали страшно умное слово индексы, тут сразу такие присели... При таких запросах индексы в принципе не могут полноценно работать. Вот реально представьте, для того чтобы выбрать 3 самых популярных товара из категории... Вот такое днище... А теперь вопрос знатокам.... А что же делать ? Как оптимизировать эти процессы? Ну кеш вы скажете понятно, но ведь кеш у нас так или иначе должен прогрется для всех категорий, рано или поздно он протухнет, и все равно кому то из клиентов попадется тухлая страница на 10-12сек, да и там не одна не две жирные категории. 7 секунд или 12.. Разницы особой нету. Вобщем задачка со звездочкой. Как сохранить полностью логику этого запроса без изменений базовых таблицы движка и отдать быстро эти данные холодными без всяких кешей ? Если что, мы с 6 сек на этом реализации, получили 0.18 мс.
  4. Нужно скопировать названия производителей с основного языка на второй. Может кто-то подсказать SQL-запрос для такой операции на OCStore 2.3?
  5. Добрый вечер, можно ли sql запросом добавить артикулы к товарам, есть товар samsung, запрос ищет и к нему добавляет artikul ili sku?
  6. Написать скрипт (модуль) который будет запускаться по крону и копировать значения кол-ва товаров quantity из таблицы product в соседнюю таблицу product_to_multistore
  7. Добрых времени суток, столкнулся с такой проблемой - нужно изменить валидацию телефонов во время создания аккаунта незарегистрированным пользователем. Моделируем ситуацию - товары в корзине, человек не зарегистрирован, дальше он вводит все свои данные и нажимает "оформить заказ". Мне со стороны модели необходимо вставить валидацию на телефон указанный при этой быстрой регистрации. Все что пока получилось - валидация в таблицу order а вот в customer падает неотформатированный телефон. Хотелось бы узнать, какие файлы используются когда человек делает быструю регистрацию из корзины. Спасибо за помощь. p.s. само собой customer.php в модели я редактировал , это не сработало, наверное ещё есть запрос в бд на запись какой-то.
  8. Нужно скопировать названия производителей с языка id 1 в язык с id 2. Переводить там руками нечего, а брендов много. Может кто-то помочь с составлением SQL-запроса?
  9. Вопрос к мега-технарям форума Есть задача: Удалить значение опции из `oc_product_option_value`, которая по идее идет в паре с записью в `oc_product_option` Мы знаем, что, грубо говоря, есть 2 типа опций. - А) Простые пишутся только в `oc_product_option` (одно поле, к примеру дата или текст) - Б) Сложные, имеют варианты значений (много полей, к примеру, несколько размеров кроссовок). Варианты значений дополнительно пишут еще и в `oc_product_option_value` Так вот, я удаляю опцию из `oc_product_option` А затем хочу удалить из `oc_product_option_value` Но! Тут есть 2 варианта как поступить: - 1. Сначала проверить, а является ли эта опция сложной (запрос на существование вариантов значений `oc_option_value`). И при наличии вариантов, уже удалять эту опцию из `oc_product_option_value` - 2. Просто выполнить удаление вслепую. Если так выйдет, что опция была простой, - ну подумаешь, будет удалено 0 строк. По скорости потестил: SELECT `option_value_id` FROM `oc_option_value` WHERE `option_id` = '4' -- Выполняется 0.0003 с. DELETE FROM `oc_product_option_value` WHERE `product_id` = '42' AND `option_id` = '4' -- Выполняется 0.0002 с. По скорости логично просто удалять вслепую. Тем более, что если конкретная опция окажется сложной, то по результатам 2-ух запросов выйдет уже почти в 2 раза дольше (0,0005). А запросов может быть много и товаров на реальном сайте тоже может быть много. Экономнее делать 1 запрос. Но феншуйно ли так поступать?
  10. Здравствуйте, получается вывести лишь один элемент из mysql таблицы с помощью php и sql запроса, как на opencart вывести абсолютно все элементы?
  11. SELECT orders.order_id, clients.name AS client_name, clients.phone, users.login, order_status.name, SUM(products.price * order_content.quantity) as order_price FROM orders, order_status, users, clients, products,order_content WHERE (orders.status_id = order_status.status_id) AND (users.user_id = orders.user_id) AND (clients.client_id = orders.client_id) AND (orders.order_id = order_content.order_id) AND(order_content.product_id = products.product_id) GROUP BY(orders.order_id) выводит пустую таблицу
  12. Нужна помощь, не могу разобраться в sql запросе. в /catalog/model/catalog/product.php есть функция: public function getProduct($product_id) { $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special,(SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND pr.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); if ($query->num_rows) { return array( 'product_id' => $query->row['product_id'], 'name' => $query->row['name'], 'description' => $query->row['description'], 'meta_title' => $query->row['meta_title'], 'meta_description' => $query->row['meta_description'], 'meta_keyword' => $query->row['meta_keyword'], 'tag' => $query->row['tag'], 'model' => $query->row['model'], 'sku' => $query->row['sku'], 'upc' => $query->row['upc'], 'ean' => $query->row['ean'], 'jan' => $query->row['jan'], 'isbn' => $query->row['isbn'], 'mpn' => $query->row['mpn'], 'location' => $query->row['location'], 'quantity' => $query->row['quantity'], 'stock_status' => $query->row['stock_status'], 'image' => $query->row['image'], 'manufacturer_id' => $query->row['manufacturer_id'], 'manufacturer' => $query->row['manufacturer'], 'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']), 'special' => $query->row['special'], 'reward' => $query->row['reward'], 'points' => $query->row['points'], 'tax_class_id' => $query->row['tax_class_id'], 'date_available' => $query->row['date_available'], 'weight' => $query->row['weight'], 'weight_class_id' => $query->row['weight_class_id'], 'length' => $query->row['length'], 'width' => $query->row['width'], 'height' => $query->row['height'], 'length_class_id' => $query->row['length_class_id'], 'subtract' => $query->row['subtract'], 'rating' => round($query->row['rating']), 'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0, 'minimum' => $query->row['minimum'], 'sort_order' => $query->row['sort_order'], 'status' => $query->row['status'], 'date_added' => $query->row['date_added'], 'date_modified' => $query->row['date_modified'], 'viewed' => $query->row['viewed'] ); } else { return false; } } В ней есть sql запрос, в котором я не могу разобраться. На примере акционного товара, подскажите, пожалуйста, как изменить этот запрос так, чтобы он вывел не 1 цену, как сейчас, а все цены, которые установлены во вкладке Акция, например 5 записей. В итоге хотел бы по определенному условию показывать нужную мне цену. Изменение/удаление LIMIT приводит к ошибке.
  13. Нужно настроить синхронизацию цен из 1С на сайт. Для этого нужно на сайт внести доработки: Сначала нужно заполнить таблицу product_discount - в нее должны загружаться оптовые и дилерские цены из 1С. Загрузка номенклатуры происходит в таблицу product Надо сделать чтобы таблицы product и product_discount синхронизировались. Нужно разбираться в SQL. Пишите сюда или в личку, очень нужен толковый специалист.
  14. для определенных атрибутов значение имеет фото и описание данные берутся с двух таблиц с одной картинка со второй описание данные вывожу в магазине но остальные атрибуты дублируются, из за чего такое может быть? модель продукта public function getProductAttributes($product_id) { $product_attribute_group_data = array(); $product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name"); foreach ($product_attribute_group_query->rows as $product_attribute_group) { $product_attribute_data = array(); $product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text, avd.description, av.image FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "dae_attribute_value_description avd ON (a.attribute_id = avd.attribute_id) LEFT JOIN " . DB_PREFIX . "dae_attribute_value av ON (a.attribute_id = av.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND avd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name"); foreach ($product_attribute_query->rows as $product_attribute) { $product_attribute_data[] = array( 'attribute_id' => $product_attribute['attribute_id'], 'name' => $product_attribute['name'], 'text' => $product_attribute['text'], 'image' => $product_attribute['image'], 'description' => $product_attribute['description'] ); } $product_attribute_group_data[] = array( 'attribute_group_id' => $product_attribute_group['attribute_group_id'], 'name' => $product_attribute_group['name'], 'attribute' => $product_attribute_data ); } return $product_attribute_group_data; }
  15. Здравствуйте, форумчане. Задача достаточно простая, но в то же время актуальная для многих интернет-магазинов. Настроена синхронизация с 1С, при удалении товаров из базы, цена автоматически обнуляется. Нужно настроить сортировку по цене таким образом, чтобы товары с нулевым значением цены отображались в конце списка, а сортировка шла от "1" и более Знаю, что нужно выполнить правки в .../catalog/controller/product/category.php и ...catalog/model/catalog/product.php if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; } Помогите, пожалуйста, разобраться
  16. Есть дополнительные модули оплаты, как их вывести на страницу продукта? Не могу найти связь между продуктом и методом оплаты в базе данных.Пример на картинке. Спасибо.
  17. Как добавить опцию для всех существующих продуктов. Через sql или есть другие варианты?
  18. Сайт Cosmetikprofi.ru После взлома интернет магазина, был почищен айболитом и перенесен на новый хостинг с Петерхоста на Nic.ru, все привязки сайта и тд все слетело. Нужно восстановить его работоспособность/ Жду ребят кто возьмется, поскольку сам в SQL не силен
  19. Добрый день! Нужна помощь сообщества В интернет-магазине примерно 520 наименований товаров. Несколько месяцев назад мы начали получать письма от хостинга с предупреждением о превышении нагрузки на базу. По тарифному плану суточный лимит MySQL был установлен 900 сек, но были значения 950-1100. Основную нагрузку давал такой запрос: Почитав этот форум, нашел рекомендацию убрать из настроек магазина подсчет количества товаров в группах (было 13 групп). Первое время это помогало, но потом опять начались случаи перебора. Решили перейти на другой тарифный план, с лимитом нагрузки на базу 1350 сек (такого значения не было вообще никогда). Вроде бы уже обрадовались, все нормально - и тут вчера получаем нагрузку 3799, то есть 181% превышения. Как такое возможно в магазине с относительно небольшим количеством товара? Я под спойлером даю статистику по сайту. Как видите, имеет место скачок посещаемости 14.11, но в то же время 27 и 28 октября посещаемость была больше 25000, при этом нагрузка за пределы нормы даже и близко не выходила. Как раз 27-28 числа я размещал материалы со ссылкой на сайт (точнее на форума магазина, а не сам магазин) в нашей группе в Фейсбуке, этим можно объяснить рост посетителей в те дни. Так же я делал пост в Фейсбуке и 13 числа, тоже со ссылкой на форума магазина. Опять посещаемость выросла, но при этом и зашкалила нагрузка. Это не может быть признаком какой-то атаки например? Еще вопрос. В приведенном выше коде запроса есть условие WHERE pd.language_id = NNN В админке магазина был установлен (но отключен для использования) язык, который фактически не использовался (планировалось включить в будущем). Сейчас я его вообще удалил из языковых настроек, оставив только те, которые реально используются на сайте магазина. Это может повлиять на снижение нагрузки? Заранее всем спасибо за помощь!
  20. Здравствуйте. Создаю поле в админке в настройках на вкладке витрина. Вот код; <spoiler> <file path="admin/controller/setting/setting.php"> <operation error="skip"> <search><![CDATA[$data['entry_google_analytics'] = $this->language->get('entry_google_analytics');]]></search> <add position="after"><![CDATA[$data['entry_config_min_price_order'] = $this->language->get('entry_config_min_price_order'); $data['entry_config_nomer_group'] = $this->language->get('entry_config_nomer_group');]]></add> </operation> <operation error="skip"> <search><![CDATA[$data['config_fax'] = $this->config->get('config_fax');]]></search> <add position="after" offset="2"><![CDATA[if (isset($this->request->post['config_min_price_order'])) { $data['config_min_price_order'] = $this->request->post['config_min_price_order']; } else { $data['config_min_price_order'] = $this->config->get('config_min_price_order'); } if (isset($this->request->post['config_nomer_group'])) { $data['config_nomer_group'] = $this->request->post['config_nomer_group']; } else { $data['config_nomer_group'] = $this->config->get('config_nomer_group'); } if (isset($this->request->post['nomer_group_2'])) { $data['config_nomer_group_2'] = $this->request->post['config_nomer_group_2']; } else { $data['config_nomer_group_2'] = $this->config->get('config_nomer_group_2'); } if (isset($this->request->post['nomer_group_3'])) { $data['config_nomer_group_3'] = $this->request->post['config_nomer_group_3']; } else { $data['config_nomer_group_3'] = $this->config->get('config_nomer_group_3'); } if (isset($this->request->post['nomer_group_4'])) { $data['config_nomer_group_4'] = $this->request->post['config_nomer_group_4']; } else { $data['config_nomer_group_4'] = $this->config->get('config_nomer_group_4'); } if (isset($this->request->post['nomer_group_5'])) { $data['config_nomer_group_5'] = $this->request->post['config_nomer_group_5']; } else { $data['config_nomer_group_5'] = $this->config->get('config_nomer_group_5'); } if (isset($this->request->post['nomer_group_6'])) { $data['config_nomer_group_6'] = $this->request->post['config_nomer_group_6']; } else { $data['config_nomer_group_6'] = $this->config->get('config_nomer_group_6'); } if (isset($this->request->post['nomer_group_7'])) { $data['config_nomer_group_7'] = $this->request->post['config_nomer_group_7']; } else { $data['config_nomer_group_7'] = $this->config->get('config_nomer_group_7'); }]]></add> </operation> </file> <file path="admin/view/template/setting/setting.tpl"> <operation error="skip"> <search><![CDATA[<input type="text" name="config_fax" value="<?php echo $config_fax; ?>" placeholder="<?php echo $entry_fax; ?>" id="input-fax" class="form-control" />]]></search> <add position="after" offset="2"><![CDATA[<div class="form-group"> <label class="col-sm-2 control-label" for="input-fax"><?php echo $entry_config_min_price_order; ?></label> <div class="col-sm-10"> <input type="text" name="min_price_order" value="<?php echo $config_min_price_order; ?>" placeholder="<?php echo $config_min_price_order; ?>" class="form-control" /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label" for="input-fax"><?php echo $entry_config_nomer_group; ?></label> <div class="col-sm-10"> <td><input style="width: 40px;" type="text" name="nomer_group" value="<?php echo $config_nomer_group; ?>" /><input style="width: 40px;" type="text" name="nomer_group_2" value="<?php echo $config_nomer_group_2; ?>" /><input style="width: 40px;" type="text" name="nomer_group_3" value="<?php echo $config_nomer_group_3; ?>" /><input style="width: 40px;" type="text" name="nomer_group_4" value="<?php echo $config_nomer_group_4; ?>" /><input style="width: 40px;" type="text" name="nomer_group_5" value="<?php echo $config_nomer_group_5; ?>" /><input style="width: 40px;" type="text" name="nomer_group_6" value="<?php echo $config_nomer_group_6; ?>" /><input style="width: 40px;" type="text" name="nomer_group_7" value="<?php echo $config_nomer_group_7; ?>" /></td> </div> </div>]]></add> </operation> </file> </spoiler> В таблице `oc_setting` по ключу нашел config_fax скопировал, поменял значения и сохранил. На вкладке Витрина значение появилось. Нажимаю "сохранить" и все, значение, ключ и т.д. как не было. Что делать? Спасибо.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.