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

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


Recommended Posts

Задача управления минимальной суммой заказа из интерфейса администратора решается просто для версии 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, спасибо за консультацию

 

 А для ocStore1.5.3.1 как сделать. На подскажите.

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


  • 5 weeks later...

Добрый день. У меня цены в админке указаны в евро, а в магазине они отображаются в рублях. Можно ли сделать так, чтобы внести минимальную сумму заказа в евро, а отображалась она как и цены в рублях?

В настройках, после осуществления всех манипуляций, указанных в инструкции Wadamir у меня появилось вот что

notice:undefined variable:tab_sms in

/home/u392715/harmabele.ru/www/admin/view/template/setting/setting.tpl on line 20

Что бы это могло значить? Спасибо!

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


  • 2 weeks later...

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

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


  • 7 months later...

Ребята помогите пожалуйста ОС 1.5.1.3 ваши рецепты не помогают.

Модуль vQmod c этой темы минимальная сумма заказа vQmod не работает.

Ваши инструкции тоже, в каких то файлах отсутствуют нужные строки.

Помогите, очень прошу.

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


  • 4 weeks later...

я сделал у себя минимальную стоимость заказа гораздо проще.

В разделе Дополнения - Оплата сделал под себя нужные мне способы оплаты предварительно их переименовав. В каждом из них поставил минимальный порог заказа в 500руб.
Далее в catalog/language/russian/checkout/checkout.php в самом низу поменял 2 последних $_['error_payment']. Было там что-то вроде 'Оплата по данному адресу невозможна. Пожалуйста, <a href="%s">свяжитесь с нами</a> для решения этого вопроса!' и Не выбран способ оплаты!, я поставил вместо них моё -ВНИМАНИЕ! Минимальная сумма заказа 500руб.!
Вот и всё. И не нужно выполнять какие-то сложные манипуляции, что-то где-то менять, заменять и париться. 
Если у покупателя в корзине лежит товара на меньшую сумму он никак не сможет закончить заказ.
Надіслати
Поділитися на інших сайтах


  • 2 months later...
  • 1 month later...

Всем привет.

Почитал тему о минимальном заказе, а можно сделать минимальное количество в корзине?

Например у меня есть минимальное кол-во товара 20 шт, а для корзины (т.е. для продолжения оформления заказа) надо набрать кол-во 100 шт. товара, и предупреждает об этом.

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


 

я сделал у себя минимальную стоимость заказа гораздо проще.

В разделе Дополнения - Оплата сделал под себя нужные мне способы оплаты предварительно их переименовав. В каждом из них поставил минимальный порог заказа в 500руб.
Далее в catalog/language/russian/checkout/checkout.php в самом низу поменял 2 последних $_['error_payment']. Было там что-то вроде 'Оплата по данному адресу невозможна. Пожалуйста, <a href="%s">свяжитесь с нами</a> для решения этого вопроса!' и Не выбран способ оплаты!, я поставил вместо них моё -ВНИМАНИЕ! Минимальная сумма заказа 500руб.!
Вот и всё. И не нужно выполнять какие-то сложные манипуляции, что-то где-то менять, заменять и париться. 
Если у покупателя в корзине лежит товара на меньшую сумму он никак не сможет закончить заказ.

 

Да это как вариант, сделал как Вы написали, получилось.

Но есть одно но - чтобы покупатель узнал что минимальный заказ 500 руб ему надо пройти 5 шагов до метода оплаты, а это сами знаете слишком долго. Задача была чтобы покупатель находясь в корзине не мог продолжить оформление заказа, т.к. ему выводилось сообщение о минимальной сумме - так проще.

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


Вобщем я нашел решение в виде доп. модуля "Min Order Total v.1.3.2" для vqmod 2.4.1.

Теперь в модуле задаю сумму и напоминание покупателю - все шикарно работает на Opencart 1.5.6, покупатель теперь в самой корзине видит что общая сумма заказа достаточная или нет, если нет то его дальше не пускают - что и требовалось.

Всем спасибо.

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


  • 2 months later...
  • 3 weeks later...

А что, неужели это такая необычная и сложная фича, что за нее требуют деньги? Нет какого-то расширения бесплатного для того, чтобы просто ограничить минимальную сумму заказа?

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


  • 3 weeks later...
  • 1 month later...

 

Суммируя вышесказанное, полная инструкция для минимальной суммы заказа с интерфейсом в админке (тестировалось на ocStore - 1.5.5.1.1):

Инструкция для создания минимальной суммы заказа:
требуемые файлы: 
\admin\view\template\setting\setting.tpl
\admin\controller\setting\setting.php
\admin\language\russian\setting\setting.php
\catalog\language\russian\checkout\cart.php
\catalog\controller\checkout\cart.php
\catalog\controller\checkout\checkout.php
 
1. Открываем файл: 
\admin\view\template\setting\setting.tpl
 
находим:
            <tr>
              <td><?php echo $entry_fax; ?></td>
              <td><input type="text" name="config_fax" value="<?php echo $config_fax; ?>" /></td>
            </tr>
 
вставляем:
<tr>
              <td><?php echo $entry_min_price_order; ?></td>
              <td><input type="text" name="min_price_order" value="<?php echo $min_price_order; ?>" /></td>
</tr>
 
2. Открываем файл: 
\admin\controller\setting\setting.php
 
находим:
if (isset($this->request->post['config_fax'])) {
$this->data['config_fax'] = $this->request->post['config_fax'];
} else {
$this->data['config_fax'] = $this->config->get('config_fax');
}
 
вставляем:
if (isset($this->request->post['min_price_order'])) {
$this->data['min_price_order'] = $this->request->post['min_price_order'];
} else {
$this->data['min_price_order'] = $this->config->get('min_price_order');
}
 
находим:
$this->data['tab_sms'] = $this->language->get('tab_sms');
 
вставляем:
$this->data['entry_min_price_order'] = $this->language->get('entry_min_price_order');
 
3. Открываем файл: 
\admin\language\russian\setting\setting.php
 
находим:
// Entry
 
вставляем:
$_['entry_min_price_order']  = 'Минимальная сумма заказа';
 
4. Открываем файл: 
\catalog\language\russian\checkout\cart.php
 
находим:
// Error
 
вставляем:
$_['error_min_price_order']  = 'Сумма заказа меньше минимальной! Минимальная сумма заказа должна быть больше: ';
 
5. Открываем файл:
\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->language->get('error_min_price_order'). $this->config->get('min_price_order').' руб!';
} else {
$this->data['error_warning'] = '';
} 
6. Открываем файл:
\catalog\controller\checkout\checkout.php
 
находим:
if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
  $this->redirect($this->url->link('checkout/cart'));
 
изменяем на:
if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || ($this->cart->getTotal() < (float)$this->config->get('min_price_order')) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
  $this->redirect($this->url->link('checkout/cart'));

Вот и все! спасибо праотцам-кодерам: Fix305, fort-line и другим!

 

выставил все как по инструкции 

при указании мин заказа просто не пускает к оформлению, но никаких надписей нет мол "Сумма заказа меньше минимальной! Минимальная сумма заказа должна быть больше: " в чем проблема может быть?

 

и еще возможно ли сделать так чтобы факс остался а добавить новое поле в админке (т.к. у меня 2 номера на сайте)

спасибо

 

вот мой сайт http://domkeramiki.biz/index.php?route=product/product&product_id=714

Змінено користувачем marikkk82
Надіслати
Поділитися на інших сайтах


  • 1 year later...
  • 4 weeks later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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