Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Минимальная сумма заказа


Recommended Posts

Не проверял, но есть в "учитывать в заказе" пункт "Затраты на минимальный заказ"

Нет, это лишь прибавляет в заказ указанную сумму, а не запрещает оформлять менее какой то суммы.
Надіслати
Поділитися на інших сайтах


в ..catalogcontrollercheckoutcart.php

находим

if (isset($this->error['warning'])) {	$this->data['error_warning'] = $this->error['warning'];			} elseif (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout')) {	$this->data['error_warning'] = $this->language->get('error_stock');} else {	$this->data['error_warning'] = '';}
заменяем на

if (isset($this->error['warning'])) {	$this->data['error_warning'] = $this->error['warning'];			} elseif (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout')) {	$this->data['error_warning'] = $this->language->get('error_stock');} elseif ($this->cart->getTotal() < 9000) {	$this->data['error_warning'] = 'need more money!';} else {	$this->data['error_warning'] = '';}

в ..catalogcontrollercheckoutshipping.php

строчку

if (!$this->cart->hasProducts()  || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
меняем на

if (!$this->cart->hasProducts() || ($this->cart->getTotal() < 9000) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {

9000 - соответственно меняем по своему усмотрению

  • +1 8
Надіслати
Поділитися на інших сайтах


А если прописать код который вот нашла на форуме? /* Минимальная сумма заказа */ $sql = "SELECT SUM(goods_price * goods_number) FROM " . $ecs->table('cart') . " WHERE session_id = '" . SESS_ID . "' " . "AND parent_id = 0 AND is_gift = 0 AND rec_type = '$flow_type'"; if ($db->getOne($sql) < 50) { show_message($_LANG['not_minimum_order'], '', '', 'warning'); }

Надіслати
Поділитися на інших сайтах


  • 4 months later...

При обновлении корзины с минимальной суммой, например увеличив количество товаров всплывает следующая ошибка: Warning: Cannot modify header information - headers already sent by (output started at W:\home\opencart.local\www\catalog\controller\checkout\cart.php:1) in W:\home\opencart.local\www\system\engine\controller.php on line 27

Как бороться?

UPD

Починено.

Похоже все дело было в кодировке.

Надіслати
Поділитися на інших сайтах


Совет от Fix305 помог, только у меня сборка ocStore 0.1.7, изменения вносила в в ..catalogcontrollercheckoutpayment.php

Только проблема в кодировке при выводе предупреждающей фразы в корзине выводится квадратиками), если сумма меньше минимального заказа. Подскажите, пожалуйста, как исправить кодировку?

Надіслати
Поділитися на інших сайтах


Только проблема в кодировке при выводе предупреждающей фразы в корзине выводится квадратиками), если сумма меньше минимального заказа. Подскажите, пожалуйста, как исправить кодировку?

(зевая) учитывая что начались новые сутки, сегодня я еще не давал ответа на этот вопрос... UTF-8 без BOM, я лично для редактирования пользуюсь Notepad++
Надіслати
Поділитися на інших сайтах


(зевая) учитывая что начались новые сутки, сегодня я еще не давал ответа на этот вопрос... UTF-8 без BOM, я лично для редактирования пользуюсь Notepad++

А не могли бы Вы поконкретнее рассказать где прописать кодировку?
Надіслати
Поділитися на інших сайтах


  • 1 month later...

Fix305 дал хорошее решение, ему респект. Но было бы лучше минимальную сумму заказа хранить в БД, а из интерфейса админки менять ее значение. Как это можно сделать?

Надіслати
Поділитися на інших сайтах


посмотрите так сделаны в админке "Настройки", достаточно добавить свое поле с name="min_price_order" в шаблоне (даже контроллер, модель трогать не придется)

а значение можно получить как

$this->config->get('min_price_order');
Надіслати
Поділитися на інших сайтах


Задача управления минимальной суммой заказа из интерфейса администратора решается просто для версии ocStore 0.1.9

1) в файле ..\admin\controller\setting\setting.php

в массив $settings добавляем элемент 'min_price_order'


		$settings = array(
			'config_name',
			'config_url',
                         ............
                         ............
                         ............
			'min_price_order',
		);

2) в ..\admin\view\template\setting\setting.tpl

добавляем, например, внутри тега <div id="tab_general"><table class="form"> ... </table></div>

<div id="tab_general">
   <table class="form">
    ............................
        <tr>
            <td>Минимальная сумма заказа</td>
            <td><input type="text" name="min_price_order" value="<?php echo $min_price_order; ?>" size=9" />
         </td>
          </tr>
    </table>
</div>

Выполнив эти два действия, имеем возможность устанавливать параметр min_price_order в интерфейсе администратора (меню: Настройки, закладка: Общие) и использовать его в любом месте кода

$this->config->get('min_price_order')

3) в ../catalog/controller/checkout/cart.php

находим

if (isset($this->error['warning'])) {
        $this->data['error_warning'] = $this->error['warning'];                 
} elseif (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout')) {
        $this->data['error_warning'] = $this->language->get('error_stock');
} else {
        $this->data['error_warning'] = '';
}

заменяем на

if (isset($this->error['warning'])) {
        $this->data['error_warning'] = $this->error['warning'];                 
} elseif (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout')) {
        $this->data['error_warning'] = $this->language->get('error_stock');
} elseif ($this->cart->getTotal() < ((float)$this->config->get('min_price_order'))) {
        $this->data['error_warning'] = 'Минимальная сумма заказа '. $this->config->get('min_price_order').' руб!';
} else {
        $this->data['error_warning'] = '';
}

4) в ../catalog/controller/checkout/shipping.php

строчку

if (!$this->cart->hasProducts()  || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {

меняем на

if (!$this->cart->hasProducts() || ($this->cart->getTotal() < (float)$this->config->get('min_price_order')) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {

Вот и все

Fix305, спасибо за консультацию

  • +1 1
Надіслати
Поділитися на інших сайтах


Fix305 дал хорошее решение, ему респект. Но было бы лучше минимальную сумму заказа хранить в БД, а из интерфейса админки менять ее значение. Как это можно сделать?

Есть модуль доставки. Там всё настраивается из админки. Но линк на него вставить не получается. Видимо, кто-то из модеров этого форума обиделся на тот сайт и поставил фильтр. :lol:
Надіслати
Поділитися на інших сайтах


Есть модуль доставки. Там всё настраивается из админки. Но линк на него вставить не получается. Видимо, кто-то из модеров этого форума обиделся на тот сайт и поставил фильтр. :lol:

вы путаете задачи

Надіслати
Поділитися на інших сайтах


Возможно. Если здесь имеется в виду, что меньше определённой суммы вообще не получится оформить заказ - то да, в том модуле решение другой задачи. Там выставляется сумма, меньше которой автоматически взимается (вписывается в счёт) дополнительная плата за доставку.

Возможно, я не до конца вник в суть этого топика. :)

ЗЫ. Кстати, нашёл этот модуль, о котором я писал, и на этом форуме. Вот здесь.

Надіслати
Поділитися на інших сайтах


Здесь имеется в виду задача о запрете формирования заказа на общую сумму менее заданной. Такая задача достаточно актуальна для оптовой торговли в оффлайне. В онлайне задача также актуальна, например, если торговые издержки покрываются прибылью только при достижении оборота реализации не менее заданного (точка безубыточности торговой операции).

Во многих скриптах интернет магазинов, например, VirtueMart, настройка "минимальная сумма заказа" предусмотрена.

Надіслати
Поділитися на інших сайтах


Задача управления минимальной суммой заказа из интерфейса администратора решается просто для версии ocStore 0.1.9

спасибо, всё замечательно работает, +1 =)
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.