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

olegbro

Newbie
  
  • Posts

    18
  • Joined

  • Last visited

Everything posted by olegbro

  1. Добрый день. Возникла необходимость сделать подсчет количества новых товаров в категории. Как я понимаю, за подсчет количества отвечает функция 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']; }
  2. подскажите пожалуйста, как отсортировать значения в группе по убыванию товара? https://prnt.sc/1jd5ws5
  3. Шаблон Лайтшоп. Интересует обновляется ли цена товара при кнопках +-в товаре и категории??? т.к. важно понимать нужно ли будет докупать что-то или ваш модуль имеет этот функционал? так же, в описании заявлена адаптация под лайтшоп. Это будет модификатор или вы будете вносить правки вручную?
  4. Для тех кому нужно будет, вот решение: /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. Ребята привет. Предыстория: владелец сайта хочет рандомно заполнять столбец с данными "Сегодня уже купили %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))"); } но тут возникает проблема, как привязать выполнение этой функции по кнопке в админке?
  6. Добрый день, поставил модуль, все по инструкции, в товарах сделал подвязку, но модуль ничего не выводит в карточке товара (делал с добавлением селектора <div id="colorasproduct"></div>) вот страница http://dev.allhookah.com.ua/kalyan-embery-mono-black
  7. Добрый день. Есть возможность сделать вывод цвета в категории и карточке товара через SELECT???? Знаю, странно, но клиент "дизайньор!" он таки видит...
  8. Добрый день, у вас в способах оплаты стоит Оплата бонусами. То есть партнер может рассчитываться со внутреннего счета? Это идет в вашем модуле или что-то нужно ставить отдельно?
  9. ребята, где искать помощи? Linux платформа (ОС) linux соответствует Включенная функция php exec соответствует Включенная функция php proc_open соответствует Права на выполнение webp (0755) соответствует Возможность выполнения оптимизации webp Не соответствует Права на выполнение mozjpeg (0755) соответствует Возможность выполнения оптимизации mozjpeg Не соответствует Права на выполнение jpegoptim (0755) соответствует Возможность выполнения оптимизации jpegoptim Не соответствует Права на выполнение optipng (0755) соответствует Возможность выполнения оптимизации optipng Не соответствует
×
×
  • 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.