-
Posts
18 -
Joined
-
Last visited
olegbro's Achievements
-
olegbro changed their profile photo
-
Добрый день. Возникла необходимость сделать подсчет количества новых товаров в категории. Как я понимаю, за подсчет количества отвечает функция getTotalProducts Как можно ее изменить чтобы считало не все товары, а только товары которые были добавлены за последнюю неделю? public function getTotalProducts($data = array()) { $sql = "SELECT COUNT(DISTINCT p.product_id) AS total"; if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)"; } else { $sql .= " FROM " . DB_PREFIX . "product_to_category p2c"; } if (!empty($data['filter_filter'])) { $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)"; } else { $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)"; } } else { $sql .= " FROM " . DB_PREFIX . "product p"; } $sql .= " 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) WHERE 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 (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'"; } else { $sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; } if (!empty($data['filter_filter'])) { $implode = array(); $filters = explode(',', $data['filter_filter']); foreach ($filters as $filter_id) { $implode[] = (int)$filter_id; } $sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")"; } } if (!empty($data['filter_name']) || !empty($data['filter_tag'])) { $sql .= " AND ("; if (!empty($data['filter_name'])) { $implode = array(); $words = explode(' ', trim(preg_replace('/\s+/', ' ', $data['filter_name']))); foreach ($words as $word) { $implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'"; } if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } if (!empty($data['filter_description'])) { $sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'"; } } if (!empty($data['filter_name']) && !empty($data['filter_tag'])) { $sql .= " OR "; } if (!empty($data['filter_tag'])) { $implode = array(); $words = explode(' ', trim(preg_replace('/\s+/', ' ', $data['filter_tag']))); foreach ($words as $word) { $implode[] = "pd.tag LIKE '%" . $this->db->escape($word) . "%'"; } if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; $sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } $sql .= ")"; } if (!empty($data['filter_manufacturer_id'])) { $sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'"; } $query = $this->db->query($sql); return $query->row['total']; }
-
[Поддержка] SEO мультимова | мультирегіон
olegbro replied to markimax's topic in SEO, карта сайта, оптимизация
а как сделать чтобы было /page-n/- 1,849 replies
-
- мультиязык
- пагинация
-
(і ще 4)
Tagged with:
-
подскажите пожалуйста, как отсортировать значения в группе по убыванию товара? https://prnt.sc/1jd5ws5
-
Шаблон Лайтшоп. Интересует обновляется ли цена товара при кнопках +-в товаре и категории??? т.к. важно понимать нужно ли будет докупать что-то или ваш модуль имеет этот функционал? так же, в описании заявлена адаптация под лайтшоп. Это будет модификатор или вы будете вносить правки вручную?
-
разобрался, спасибо, стояла версия 3,4 а модификатор с 3,5, поставил старый модификатор и все заработало
- 6,023 replies
-
- новая почта
- модуль доставки
- (і ще 9)
-
в логах ошибок нет
- 6,023 replies
-
- новая почта
- модуль доставки
- (і ще 9)
-
другого нету
- 6,023 replies
-
- новая почта
- модуль доставки
- (і ще 9)
-
<version>2.0.0</version>
- 6,023 replies
-
- новая почта
- модуль доставки
- (і ще 9)
-
Здравствуйте, стоит модификатор Shipping Data for OrderPro Стоит OrderPro_v2.7.9 Вот так выводит города: https://prnt.sc/xq97t5 Подскажите что с этим делать?
- 6,023 replies
-
- новая почта
- модуль доставки
- (і ще 9)
-
тоже нужен подобный функционал
-
Привязать кнопку в админке к модели
olegbro replied to olegbro's topic in Opencart 2.x: General questions
Для тех кому нужно будет, вот решение: /admin/model/catalog/product.php перед: public function addProduct($data) вставляем: public function randSaled ($data) { $this->db->query("UPDATE `oc_product` SET `saled`= FLOOR(5 + (RAND() * 15))"); } далее в /admin/controller/catalog/product.php перед: public function edit() вставляем: public function rand() { $this->load->model('catalog/product'); $this->model_catalog_product->randSaled($this->request->post); $this->getList(); } тут же, перед: $data['add'] = $this->url->link('catalog/product/add', 'token=' . $this->session->data['token'] . $url, true); добавляем: $data['rand'] = $this->url->link('catalog/product/rand', 'token=' . $this->session->data['token'] . $url, true); ну и напоследок, в /admin/view/template/catalog/product_list.tpl сразу после <div class="page-header"> добавляем <div class="container-fluid page-header text-right"> <button type="submit" form="form-product" formaction="<?php echo $rand; ?>" data-toggle="tooltip" title="Обновить количество продаж сегодня" class="btn btn-default"><i class="fa fa-cog"></i> Обновить продажи</button> </div> Внимание!!! Это решение только для рандомного заполнения данных. Перед всем этим нужно сначала создать столбец в oc_product и настроить вывод на сайте. Ели кому то нужно будет, пишите.- 5 replies
-
- php
- opencart2x
-
(і ще 2)
Tagged with:
-
Ребята привет. Предыстория: владелец сайта хочет рандомно заполнять столбец с данными "Сегодня уже купили %s раз". Изначально реализовано было через обычный php файл в корне https://prnt.sc/vrqnal но и дураку понятно что это позорный сквозняк. Есть вариант через /admin/model/catalog/product.php добавить функцию: public function randSaled($data) { $this->db->query("UPDATE `oc_product` SET `saled`= FLOOR(5 + (RAND() * 15))"); } но тут возникает проблема, как привязать выполнение этой функции по кнопке в админке?
- 5 replies
-
- php
- opencart2x
-
(і ще 2)
Tagged with:
-
Модуль Файлы для скачивания без покупки [Поддержка]
olegbro replied to zakki's topic in Модули обмена данными
на OcStore 2.3 будет работать?- 9 replies
-
- загрузка файлов
- файлы для скачивания
-
(і ще 2)
Tagged with:
-
[Поддержка] ColorAsProduct - цвета товара как отдельные товары
olegbro replied to Leingard's topic in Серии, Комплекты
Добрый день, поставил модуль, все по инструкции, в товарах сделал подвязку, но модуль ничего не выводит в карточке товара (делал с добавлением селектора <div id="colorasproduct"></div>) вот страница http://dev.allhookah.com.ua/kalyan-embery-mono-black -
[Поддержка] ColorAsProduct - цвета товара как отдельные товары
olegbro replied to Leingard's topic in Серии, Комплекты
Добрый день. Есть возможность сделать вывод цвета в категории и карточке товара через SELECT???? Знаю, странно, но клиент "дизайньор!" он таки видит...