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

evgeny8778

Новичок
  
  • Публикаций

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

  • Посещение

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

  1. UP Так и не решил проблему. Форма заказа стандартная не упрощённая. В базе поля "Итого" и "Бонусные баллы" отображаются, как дробные числа. Например: вместо 550.0000 отображается 549.4695. Проблема проявляется у разных пользователей.
  2. Здравствуйте. У меня в магазине возникла проблема. У некоторых покупателей при покупке списываются не все баллы. Например, клиент хочет списать все 104 балла, а у него в заказе списывается 101 балл. При этом его бонусный баланс становится нулевым. До этого ему были начислены бонусы за 2 заказа (50 и 54 балла соответственно). Проблема появляется не регулярно. В чём может быть причина. В админке ошибок не появляется.
  3. Здравствуйте, пришлось вернутся к данному вопросу. На данный момент название категории товара выводится. Реализована следующим запросом: "SELECT cd.name as cn, op.name, op.model, SUM(op.quantity) AS quantity, SUM(op.total + op.total * op.tax / 100) AS total from `" . DB_PREFIX . "product` p LEFT JOIN `" . DB_PREFIX . "product_to_category` p2c ON (p.product_id = p2c.product_id) LEFT JOIN `" . DB_PREFIX . "category_description` cd ON (p2c.category_id = cd.category_id) `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_product op ON (op.order_id = o.order_id) "; Возникла проблема. Если в карточке товара, в разделе связи, в пункте "Показывать в категориях" выбрать больше одной категории, то в отчёт входят количество и стоимость проданного товара, перемноженное на количество выбранных для отображения категорий. Т.е. если товара продано 5 шт. и он должен отображаться в 2-х категориях, то отчёт показывает, что товара продано 10 шт. Какое условие нужно использовать для ограничения количества учитываемых категорий? Или я изначально пошёл не тем путём?
  4. evgeny8778

    Запрос к базе

    Версия Opencart 1.5.1.3 Да работает, спасибо большое.
  5. Здравствуйте! Помогите пожалуйста правильно составить запрос. Суть: Для клиентов магазина, находящихся в группе "постоянный покупатель" предусмотрена определённая скидка. Для попадания в эту группу, обычному покупателю необходимо совершить покупки на сумму 10 000 руб. Нужно чтобы этот обычный клиент у себя в кабинете видел, на какую сумму ему необходимо совершить покупки чтобы попасть в группу "постоянный покупатель". Я нашёл функцию public function getTotalOrders() { $query = $this->db->query("SELECT SUM(total) AS total FROM `" . DB_PREFIX . "order` WHERE customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id > '0'"); return $query->row['total']; } Она выводит общую стоимость совершённых покупателем заказов. добавив после SELECT 10000 - я получил: public function getTotalOrders() { $query = $this->db->query("SELECT 10000 - SUM(total) AS total FROM `" . DB_PREFIX . "order` WHERE customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id > '0'"); return $query->row['total']; } то есть из 10 000 вычитается итоговая сумма заказов. Естественно после того, как стоимость заказов переваливает за 10 000 покупатель видит отрицательное число. Помогите составить запрос так, чтобы после того, как стоимость заказов пройдёт отметку 10 000, покупатель в кабинете вместо отрицательного числа видел 0р. Либо, чтобы после перевода покупателя в группу "Постоянный покупатель" для него подобная запись не отображалась.
  6. Попробовал так, то же самое public function getPurchased($data = array()) { $sql = "SELECT p2c.category_id, op.name, op.model, SUM(op.quantity) AS quantity, SUM(op.total + op.total * op.tax / 100) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "product_to_category` p2c ON (p.product_id = p2c.product_id), `". DB_PREFIX . "order` o ON (op.order_id = o.order_id)";
  7. Добавил, вместо страницы отчёта выдаёт ошибку: Notice: Error: Unknown column 'op.category' in 'field list' Error No: 1054
  8. В файле шаблона: /admin/view/template/report/product_purchased.tpl я добавил строки, <td class="left"><?php echo $column_category; ?></td> и <td class="left"><?php echo $product['category']; ?></td> получилось <table class="list"> <thead> <tr> <td class="left"><?php echo $column_category; ?></td> <td class="left"><?php echo $column_name; ?></td> <td class="left"><?php echo $column_model; ?></td> <td class="right"><?php echo $column_quantity; ?></td> <td class="right"><?php echo $column_total; ?></td> </tr> </thead> <tbody> <?php if ($products) { ?> <?php foreach ($products as $product) { ?> <tr> <td class="left"><?php echo $product['category']; ?></td> <td class="left"><?php echo $product['name']; ?></td> <td class="left"><?php echo $product['model']; ?></td> <td class="right"><?php echo $product['quantity']; ?></td> <td class="right"><?php echo $product['total']; ?></td> </tr> в файле контроллера: admin/controller/report/product_purchased.php я добавил строку, 'category' => $result['category'],*/ получилось. if ($option =='filter'){ foreach ($results as $result) { $this->data['products'][] = array( 'category' => $result['category'], 'name' => $result['name'], 'model' => $result['model'], 'quantity' => $result['quantity'], 'total' => $this->currency->format($result['total'], $this->config->get('config_currency')) ); Так же внёс соответствующие изменения в файл: admin/language/russian/report/product_purchased.php После чего появился столбец категорий с пустыми строками. В шапке админки на странице отчёта появились множественные, одинаковые ошибки вида: Notice: Undefined index: category in /public_html/admin/controller/report/product_purchased.php on line 121 Нужно ли вносить изменения в файл модели: admin/model/report/product.php и ели да, то какие именно?
  9. Здравтвуйте. Необходимо в отчёт по купленным товарам вывести категорию к которой этот товар относится. Так же как здесь, но только без фильтра по категориям. Вопрос: как подобное реализовать и нужно ли редактировать базу. P. S. Версия OpenCart 1.5.1.3
  10. Всё понятно, спасибо за помощь.
  11. Может кто-то подскажет правильно ли я делаю. В приведённом мною выше запросе, я изменил: p.date_available <= NOW() на o.date_added >= DATE_SUB(CURRENT_DATE, INTERVAL 14 DAY) В конечном итоге получилось так: $query = $this->db->query("SELECT op.product_id, COUNT(*) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND o.date_added >= DATE_SUB(CURRENT_DATE, INTERVAL 14 DAY) AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit); Вроде бы правильно считает, но почему-то попал 1 товар с 0-м количеством на складе. Cache на FTP почистил.
  12. Вопрос в том, каким условием подобное реализовать? Если кто пробовал поделитесь опытом.
  13. Здравствуйте. В модуле "Хиты продаж" необходимо сделать выборку среди товаров, проданных за 2 последние недели, а не за весь период. Можно ли реализовать подобное? Если я правильно понял, то изменениям должен быть подвергнут файл: catalog/model/catalog/product.php а точнее, строка: $query = $this->db->query("SELECT op.product_id, COUNT(*) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);
×
×
  • Создать...

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

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