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

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


Recommended Posts

Подскажите, пл, в чем может быть причина корявости кодировки после этих манипуляций на стр. корзины.

../catalog/controller/checkout/cart.php

../catalog/controller/checkout/shipping.php

Все файлы сохранялись в UTF-8 без BOM.

Кэш чистили...

Кракозябры остались... :angry:

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


Выяснила в чем дело. (ocstore_v0.1.9)

В оригинале код в файле /catalog/controller/checkout/cart.php немного отличается от того, который был предложен для замены:

elseif (!$this->cart->hasStock() && (!$this->config->get('config_stock_checkout') || $this->config->get('config_stock_warning').. этого куска кода не было.

Исправила, добавила МИн. заказ в код - всё ОК.

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


  • 3 weeks later...

эт ваще что?) и чем Вам не нравиться мой вариант?)

Использую вариант, который предложил Fix305 (за что ему спасибо!)

Но сегодня смотрю, а пришел заказ на сумму, втрое меньше за указанную минимальную...

Хотя в корзине при нажатии "оформить" никуда не пускает (вверху предупреждает про мин.сумму заказа). Экспериментировал по-разному (и логинился, и пробовал оформить без регистрации) - не пускает оформить заказ при сумме < минимальной, как ни крути.

А тут на тебе, и удалось как-то оформить...

У кого-то было подобное?

П.С. Версия OC 1.4.9.1

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


  • 4 weeks later...

Использую вариант, который предложил Fix305 (за что ему спасибо!)

Но сегодня смотрю, а пришел заказ на сумму, втрое меньше за указанную минимальную...

Хотя в корзине при нажатии "оформить" никуда не пускает (вверху предупреждает про мин.сумму заказа). Экспериментировал по-разному (и логинился, и пробовал оформить без регистрации) - не пускает оформить заказ при сумме < минимальной, как ни крути.

А тут на тебе, и удалось как-то оформить...

У кого-то было подобное?

П.С. Версия OC 1.4.9.1

Уже на стадии выбора способа оплаты убрать из корзины ненужные товары - в этом случае заказ будет оформлен с игнорированием минимальной суммы. Ждём, что скажут зубатые. Хотя, вижу, не чешутся.

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


  • 2 months later...

А как на 1.5 сделать?

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

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

Выложди пожалуйста модуль сюда..
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
  • 1 month later...
  • 4 months later...

Привет всем! Ребята подскажите что может быть, хочу сделать "минимальную сумму заказа", ставлю вот этот код

в ..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 month later...
  • 1 month later...

На 1.5.2 Добился только того что в корзине выводится сообшение. А вот как полность запретить оформление заказа. Дело в том что в новой версии нет файла catalog/controller/checkout/shipping.php

Спасибо!

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


  • 1 month later...

На 1.5.2 Добился только того что в корзине выводится сообшение. А вот как полность запретить оформление заказа. Дело в том что в новой версии нет файла catalog/controller/checkout/shipping.php

Спасибо!

- поподробнее, пожалуйста! Удалось Вам на 1.5.1.3 запретить оформление при сумме меньше минимально разрешённой?
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Скопируйте код и сохраните в формате XML, потом добавьте в папку vqmod (название файла роли не играет)

<?xml version="1.0" encoding="UTF-8"?>
<modification>
<id>Минимальная сумма заказа</id>
<version>1.5.3.1</version>
<vqmver>1.0.1</vqmver>
<author>www.***</author>
<file name="catalog/view/theme/default/template/checkout/confirm.tpl">
  <operation>
   <search position="replace"><![CDATA[
    <div class="payment"><?php echo $payment; ?></div> <!-- Если больше или равно указанной цифре, то показываем кнопку -->
   ]]></search>
   <add><![CDATA[
    <?php if ($this->cart->getSubtotal() >= 500) { ?> <!-- Здесь проверка на нужное кол-во -->
    <div id="payment"><?php echo $payment; ?></div> <!-- Если меньше указанной цифры, то прячем кнопку -->
    <?php } else { ?>
    <div class="warning">Сумма минимально заказа должна быть не менее 500 рублей !</div> <!-- Сообщение об ошибке, если сумма меньше -->
    <?php }  ?>
   ]]></add>
  </operation>
</file>
<file name="catalog/view/theme/default/template/checkout/cart.tpl">
  <operation>
   <search position="before"><![CDATA[
	  <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
   ]]></search>
   <add><![CDATA[
    <?php if ($this->cart->getSubtotal() >= 500) { ?> <!-- Здесь проверка на нужное кол-во -->
    <?php } else { ?>
    <div class="warning">Сумма минимально заказа должна быть не менее 500 рублей !</div> <!-- Сообщение об ошибке, если сумма меньше -->
    <?php }  ?>
   ]]></add>
  </operation>
</file>
<file name="catalog/view/theme/default/template/checkout/checkout.tpl">
  <operation>
   <search position="before"><![CDATA[
    <h1><?php echo $heading_title; ?></h1>
   ]]></search>
   <add><![CDATA[
    <?php if ($this->cart->getSubtotal() >= 500) { ?> <!-- Здесь проверка на нужное кол-во -->
    <?php } else { ?>
    <div class="warning">Сумма минимально заказа должна быть не менее 500 рублей !</div> <!-- Сообщение об ошибке, если сумма меньше -->
    <?php }  ?>
   ]]></add>
  </operation>
</file>
</modification>
  • +1 2
Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

Baco

К сожалению не помогло.

Опишите задачу какую ставили перед собой, напишите в личку... раберемся...
Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

А есть вариант как ограничить сумму минимальной покупки в зависимости от Производителя?

То есть на товары одного производителя минималка 200$,а на товары другого производителя минималка 350$.

P.S. Вариант, предложенный Васо работает - выводит предупреждение о сумме минимального заказа, но оформить заказ не запрещает.

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


  • 1 month later...

Здравствуйте!Возникла необходимость это реализовать, закинула файлик с Вашим кодом - результат есть, при переходе к оформлению заказа на сумму меньше указанной, появляется надпись о сумме минимального заказа, но она спокойно игнорируется - т.е. если человек ее не заметил и продолжил заполнять форму заказа, то ему это благополучно удается. Можно ли как-то сделать так, чтобы при попытке оформить заказ все последующие действия блокировались и эта надпись не исчезала? Была бы Вам очень признательна!

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


  • 1 month later...

Не получается....ПОМОГИТЕ.

Строка Минималка вылазит, но оформить все равно можно...

как спрятать кнопку оформления если минималка не набрана?!

ос 1,5,1,3

стоит модуль оформление на 1 странице

п.с. ПОМОГ Fix305

Нужно было в catalog/controller/checkout/onepage.php строку поменять.

Сделать вот так вот:

if ((!$this->cart->hasProducts() && (!isset($this->session->data['vouchers']) || !$this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout')) || ($this->cart->getTotal() < 100)) {

$this->redirect($this->url->link('checkout/cart'));

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


в ..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.5.2.1 вместо файла ..catalog/controller/checkout/shipping.php вносила изменения ..catalog/controller/checkout/checkout.php

строку

$this->data['error_warning'] = 'need more money!';

заменила на:

$this->data['error_warning'] = $this->language->get('error_min_total');

и в файлик ..catalog/language/russian/checkout/cart.php добавила строку:

$_['error_min_total']	    = 'Минимальная сумма заказа 9000 руб';

А Fix305 спасибо за решение

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


  • 1 month later...
  • 7 months 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'));

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

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

  • 2 weeks later...

Если клиент выбирает один из вариантов доставки, то минимальная сумма для заказа - от 1000 руб. Если самовывоз то сумма любая.

 

 

Возможно так сделать?

 

П.с. У меня установлен модуль Мультидоставка и Simple

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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