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

[Поддержка] Обновление цены при выборе опции, без AJAX - HYPER Dynamic price of options OC 2


Recommended Posts

Работает, благодарю.

А как быть, с акционными товарами, на которые есть опции? Модуль итогово считает правильно, но при этом меняется базовая цена, а не акционная.

Обработка акционной цены ещё не реализована. Постараюсь в ближайшее время реализовать. :-)

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

Вообще супер. Готов покупать.

Модуль и дальше будет оставаться бесплатным. Только начал разбираться с движком OpenCart, а написание модуля помогает ознакомиться с ним побыстрее. :eek:

В самом начале не нашёл готового модульного решения, собрал по кусочкам со своими доработками и оформил в виде модуля.

Начинал с этой темы: https://opencartforum.com/topic/404-%D0%B0%D0%B2%D1%82%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D1%87%D0%B5%D1%82-%D1%86%D0%B5%D0%BD%D1%8B-%D0%BF%D1%80%D0%B8-%D0%B2%D1%8B%D0%B1-%D0%BE%D0%BF%D1%86%D0%B8%D0%B8-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-148b-%D0%B4%D0%BE%D1%80%D0%B0%D0%B1%D0%BE/

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

  • v1.4 (07.12.2012) - Теперь пересчёт работает с учётом акций и скидок.
а если скажем товар стоит $100, скидка $80, но от 10ти штук. в корзине лежит 9, пользователь вводит 1 в поле кол-во. цена должна смениться на $80.
  • +1 1
Надіслати
Поділитися на інших сайтах

а если скажем товар стоит $100, скидка $80, но от 10ти штук. в корзине лежит 9, пользователь вводит 1 в поле кол-во. цена должна смениться на $80.

Да, есть такое дело. Подумаю что с этим можно сделать.

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

Обновление:

v1.6 (10.12.2012) - Пересчёт идёт с учётом скидки за количество. (ВНИМАНИЕ: не учитывается товар, уже лежащий в корзине)

Сделал скидки, пока ещё без учёта товаров в корзине (пока не копал, похоже надо прилично там полопатить).

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

Обновление:

v1.6 (10.12.2012) - Пересчёт идёт с учётом скидки за количество. (ВНИМАНИЕ: не учитывается товар, уже лежащий в корзине)

Сделал скидки, пока ещё без учёта товаров в корзине (пока не копал, похоже надо прилично там полопатить).

хорошее начало ) почти всё сделал ) если бы это было ещё не ajax... могу дать js функцию для форматирования цены
  • +1 1
Надіслати
Поділитися на інших сайтах

хорошее начало ) почти всё сделал ) если бы это было ещё не ajax... могу дать js функцию для форматирования цены

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

Если допиливать с учётом корзины, то без ajax пока не знаю как организовать. :oops:

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

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

Если допиливать с учётом корзины, то без ajax пока не знаю как организовать. :oops:

можно без учета корзины и без ajax

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

Всем привет! Сделал все правильно и не работает вообще. Сразу уточню. Данный модуль работает на ocstore 1.5.3.x?

На ocstore 1.5.3.1 точно работает.

Просмотрите логи в vqmod/logs. Там должно писать по какой причине модуль был отклонён.

Тему используете стандартную или нет?

Проводились модификации темы или движка?

Можно ещё попробовать установить на чистый ocstore интересуемой версии.

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

А можно реализовать, чтобы при изменении количества товара, цена умножалась? То есть выставили опции, как надо, ввели 2 штуки и цена сразу удвоилась.

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

А можно реализовать, чтобы при изменении количества товара, цена умножалась? То есть выставили опции, как надо, ввели 2 штуки и цена сразу удвоилась.

Можно изменив одну строчку.

Это: $output = $this->currency->format($price);

Заменить на это: $output = $this->currency->format($price * $quantity);

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

Спасибо за расширение.

Мне кажется , что тут ещё не хватает автовыбора первой опции.

<?php if ($options) { ?>
  <div class="options">
	<span><b><?php echo $text_option; ?></b></span>
	<?php foreach ($options as $option) { ?>
	<?php if ($option['type'] == 'select') { ?>
	<div id="option-<?php echo $option['product_option_id']; ?>" class="option o-select">
	  <?php if ($option['required']) { ?>
	  <span class="required">*</span>
	  <?php } ?>
	  <b><?php echo $option['name']; ?>:</b><br />
	  <select name="option[<?php echo $option['product_option_id']; ?>]">
	  закомментируем эту строчку   <!--  <option value=""><?php echo $text_select; ?></option> -->
		<?php foreach ($option['option_value'] as $option_value) { ?>
		<option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
		<?php if ($option_value['price']) { ?>
		(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
		<?php } ?>
		</option>
		<?php } ?>
	  </select>

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

Спасибо за расширение.

Мне кажется , что тут ещё не хватает автовыбора первой опции.

Есть такое дело. В следующей версии уже будет исправлено. Спасибо.

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

Заметил глюк у себя на локальной машине. Если быстро кликать по чекбоксам не все плюсуется. То есть у меня три чексбокса (+1, +2, +3 к цене). Быстро отмечаю все чекбоксы и получаю 1 (до этого цена была 0).

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

Заметил глюк у себя на локальной машине. Если быстро кликать по чекбоксам не все плюсуется. То есть у меня три чексбокса (+1, +2, +3 к цене). Быстро отмечаю все чекбоксы и получаю 1 (до этого цена была 0).

Такое вполне возможно (при использовании AJAX).

При быстром выборе улетает три запроса. Цена выставиться по последнему возвращённому (не всегда очерёдность нажатия).

Готовлю версию без AJAX, на JavaScript.

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

Обновление:

v2.0.0 (27.12.2012) - Начиная с этой версии не используется AJAX (Все вычисления на JavaScript).

При подсчёте скидок учитывается только введённое количество (товар, лежащий в корзине, в расчёте не участвует).

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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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