Перейти к содержанию

bmite

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

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

  • Посещение

Репутация

0 Обычный

Информация о bmite

  • Звание
    Пользователь

Посетители профиля

416 просмотров профиля
  1. из всей ветки всего одно толковое сообщение (перед ответом), и то альтернатива. Меня бы устроил ответ, если бы указали изначально на файл, с которым нужно работать...
  2. Решено было так: в файле system/library/cart.php заменить // Product Discounts $discount_quantity = 0; $cart_2_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); foreach ($cart_2_query->rows as $cart_2) { if ($cart_2['product_id'] == $cart['product_id']) { $discount_quantity += $cart_2['quantity']; } } $product_discount_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND quantity <= '" . (int)$discount_quantity . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY quantity DESC, priority ASC, price ASC LIMIT 1"); if ($product_discount_query->num_rows) { $price = $product_discount_query->row['price']; } на // Product Discounts $discount_quantity = 0; $cart_2_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'"); // Блок по кастомным скидкам $tmp_price = 0; foreach ($cart_2_query->rows as $prod) { $objProduct = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE product_id = " . (int)$prod['product_id']); $tmp_price += $objProduct->row['price'] * $prod['quantity']; } // Конец блока по кастомным скидкам // Блок по кастомным скидкам if ($tmp_price >= 3000) { // условие по кастомным скидкам $product_discount_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY quantity DESC, priority ASC, price ASC LIMIT 1"); if ($product_discount_query->num_rows) { $price = $product_discount_query->row['price']; } } // Конец блока по кастомным скидкам p.s. форум этот оказался бесполезный, администрация поощряет флуд и спам модулей, которые не относятся к решению задачи.
  3. Есть скидки в опенкарте, вкладка в редактировании товара, так вот там указывается количество, после которого начинает работать скидка за шт. Мне надо, чтобы скидка включалась не от кол-ва, а от суммы в корзине. Например набрал человек на 3000 руб товаров и тогда только применяется эта скидка. Я так понял, нужно допил делать в system/library/cart.php , но дальше моих знаний не хватило. Пишите срок и цену в телегу @bmite или сюда
  4. так не подойдет, в моем случае оптовик может купить разные товары на сумму >= 3000. Не подскажите, в каком контроллере или модели срабатывает "переключатель" скидочных цен (зависящий от количества)?
  5. Извините, вы читать умеете не додумывая сообщения? Перечитайте мое первое сообщение внимательно. Так ясное дело, бото-продавцы спамят своими модулями поверхностно прочитав заголовок темы или отправляют в раздел услуг. Один товарищ предлагает ваш модуль за ~3к (в котором кстати нет нужной мне функции), вы предлагаете модуль по дешевле, но это все равно не то. Как работает стандартная система скидок опенкарта? Заходишь в редактирование товара, ставишь цену БЕЗ скидки *50р*, затем переходишь во вкладку Скидки, указываешь количество *например 5шт* (после которого "включится" пересчет цены), указываешь цену *30р* (по которой пересчитывать). Затем открываешь карточку товара и добавляешь 4 товара, цена будет 4х50=200. добавляем еще 1 товар, цена будет 5х30=150. Мне нужно, чтобы пересчет цены ВКЛЮЧАЛСЯ не от количества товара, а от СУММЫ ЗАКАЗА в корзине (а не скидка рассчитывалась от суммы заказа). То бишь я указываю в модуле (или где-то в контроллере - значение переменной) сумму заказа (= 3000 руб), после которой будет пересчет по скидке . Клиент набирает товаров в корзину на 2999р (для этой суммы цена розничная - 50р/шт), затем набирает товаров в корзину на сумму => 3000р (для этой суммы цена уже оптовая - 30р/шт). Ваш модуль и другие аналогичные работают совсем по другому, а именно, от суммы заказа отнимают % либо фиксированную сумму указанную в модуле.
  6. В админке, у товаров есть вкладка "Скидки". По умолчанию цена скидки "включается" при достижении определенного количество товара в корзине, мне нужно, чтобы цена по скидке "включалась" при определенной сумме в корзине. Проверил модуль по совету Djeff78 , к сожалению это не то, что нужно. Этот модуль выдает фиксированную скидку, либо % от суммы заказа, мне же нужно другое. Вопрос остается не решенным .... Касательно флуда, конкретно у вас он начался с самого первого сообщения. Я не просил совета "какой модуль установить?" или "как отреагирует заказчик?", потому ваши сообщения никак не относятся к теме и решению проблемы, это и есть флуд.
  7. Предложенный модуль мне не подходит. Это как покупать трактор, чтобы окопать одно дерево. Просьба не флудить и не впараивать мне модули.
  8. я видел этот модуль, нужный функционал в нем отсутствует, если я не прав ткните носом. к тому же, для этой небольшой функции он дороговато стоит. Ну и я ищу не модуль, а решение в виде небольшой правки в исходнике, либо небольшую подсказку.
  9. например какой модуль, я много перерыл и ничего подходящего не нашел.
  10. Нужно, чтобы цена по скидке включалась НЕ от количества товаров в корзине, а от СУММЫ ЗАКАЗА в корзине. Подскажите, как сделать? Я так понимаю тут собака зарыта foreach ($discounts as $discount) { $data['discounts'][] = array( 'quantity' => $discount['quantity'], 'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) ); }
  11. извините, ошибся. Ваш код работает. Огромное спасибо за помощь!
  12. Доброго времени суток. Подскажите, как добавить в контролере атрибут id 66 после $product_info['name'] . Есть такой код: if ($product_info['meta_title']) { $this->document->setTitle($product_info['name'].' - купить в интернет-магазине с доставкой, цена'); } else { $this->document->setTitle($product_info['name'].' - купить в интернет-магазине с доставкой, цена'); }
×

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

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