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

При заказе менее 10 единиц товара, цена каждого выше на 30 денег


Froggy

Recommended Posts

Добрый день! Помогите разобраться и найти ответ...

Необходимо реализовать следующее: при заказе менее 10 единиц товаров (всех вместе взятых), цена каждого товара в корзине должна быть выше на 30 денег.

Долго рылся в system/library/cart.php, catalog/controller/cart.php. Разобраться не смог.

То цену не повышает, то сумму по строке товара не меняет, и общую тоже, кстати не меняет.

Куда рыть? Подскажите, бывалые...

Буду признателен!

P.S.: Opencart 1.5.1.3

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


сорри, браузер тормознул, и я 2 раза отправил, но страницу перегрузило 1 раз.

но мне нужно не по конкретному товару эти ограничения, а по количеству товаров в корзине вообще

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


Необходимо реализовать следующее: при заказе менее 10 единиц товаров (всех вместе взятых), цена каждого товара в корзине должна быть выше на 30 денег.

...

Куда рыть? Подскажите, бывалые...

См. catalog/model/total/

Думаю, готовые модули давно уже есть для этого. См. opencart.com - Extensions

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


Готовые решения стоят 37$, а это немало (для такой фентиклюшки). Хотелось быть состряпатьс Вашей помощью.

Куда рыть не пойму в catalog/controller/checkout/cart.php прописал

if($this->cart->countProducts() < 10){
$price = $price+30;
}
$price = $this->currency->format($this->tax->calculate($price, $product['tax_class_id'], $this->config->get('config_tax')));

Цену на странице корзины и в корзине повышает, как надо, но total так и остался без пересчета.

После нажатия в корзине "Оформить заказ" переносит на страницу ввода данных о покупателе. Здесь уже обратно старые цены и в цене, и в сумме((

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


Готовые решения стоят 37$, а это немало (для такой фентиклюшки). Хотелось быть состряпатьс Вашей помощью.

Мне есть, чем заняться. Хотите сами - продолжайте поиски или разбирайтесь с кишками опенкарта. Потом напишите, что к чему, и выложите описание для тех, кому следом за Вами подобное пригодится.

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


Я никого не хотел обидеть, просто не хочется фин. вливаний, так как проект сырой, но эта ф-ция нужна. Опенкарт я знаю 6 месяцев. Но не так хорошо. Где хоть искать? В каких файлах? Спасибо)

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


ok.

как, находясь в /system/library/cart.php внутри функции getProducts() получить общее кол-во товаров в корзине???

$this->countProducts() - не работает, страницы вообще отказываются исполняться. Кто сможет подсказать?

Как еще можно подсчитать кол-во товаров. Может и нужно вызывать $this->countProducts(), но как правильно???? :oops: :(

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


Вроде как решено! )) Подправьте если че не так)))

Добавить функцию в /system/library/cart.php:

public function myCount() {
$quantity = 0;
foreach ($this->session->data['cart'] as $qty) {
	$quantity = $quantity+$qty;
}
return $quantity;		  
}

Ниже в /system/library/cart.php в функции getProduct() добавить перед

	 $product_data[$key] = array(

КОД:

			if($this->myCount() < 10){
			$price = $price+30;  
			}

Жду исправлений/ругательств/подсказок/благодарностей...

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


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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