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

olegbro

Newbie
  
  • Posts

    18
  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

olegbro's Achievements

Contributor

Contributor (5/14)

  • Dedicated Rare
  • First Post
  • Collaborator
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  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???? Знаю, странно, но клиент "дизайньор!" он таки видит...
×
×
  • 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.