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

нужно, чтобы изменялясь цена


sobwoofer

Recommended Posts

передо мной стал вопрос как сделать изменение цены в зависимости от введенного числа.

Чтобы было проще понять - это магазин ткани, и цена должна изменятся в зависимости от заданой длины ткани.

Опциями можно сделать, но очень долгий выпадающий список получится, например от 50 до 20 000 см. задать опциями каждый сантиматр нереально и не практично.. нужно, чтобы пользователь сам ввел длинну, и ему просчиталась цена.

 

 

вопрос наверное не совсем стандартный, но был бы благодарен хоть за какую то помощь)

спасибо.

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

Не знаю есть ли такой модуль... Но перелопатить нужно будет не мало, хотя сложного вроде ничего нет.

 

Для начала, нужно в контроллере product.php получить стоимость товара без обработки класса currency, тобишь int

 

Потом написать небольшой скрипт, который будет получать значение из поля quantity и множить его на "чистую" цену.

 

Что-то вроде

 

$(document).on('ready',function(){
	$('input[name=quantity]').on('change',function(){
		var quantity = $(this).val();
		var total = quantity * $('input[name=clear_price]').val();
		// Ajax функция которая вернет цену в нужной валюте и нужном форматировании
		getFormatedPrice(total);
	})
})

getFormatedPrice()

 

function getFormatedPrice(data) {
$.ajax({
    url: 'index.php?route=product/product/getFormatedPrice',
    type: 'post',
    data: 'new_cost=' + data,
    success: function(data) {
     $('.price').text(data);
    }
});
}

 

А в product.php в конце перед }

добавляем что-то вроде

 

public function getFormatedPrice() {
		if (!$this->request->post['new_cost']) {
			return false;
		}

// Правда не помню, без учета налогов как верно, так:
		$new_cost = $this->currency->format($this->tax->calculate($this->request->post['new_cost'], 0, $this->config->get('config_tax')));
// Или так:
$new_cost = $this->currency->format($this->request->post['new_cost']);

		return $new_cost;
	}

 

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

 

ПС. В админке указываете цену за 1 единицу.

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


Я что-то вообще не улавливаю, зачем что-о переделывать и чего не хватает в стандартной реализации.

Создаём товар "Ткань полосатая, за 1 см". Покупатель в поле "количество" вводит, как ни странно, количество нужных ему сантиметров. Вуаля.

Какие опции?

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


Я что-то вообще не улавливаю, зачем что-о переделывать и чего не хватает в стандартной реализации.

Создаём товар "Ткань полосатая, за 1 см". Покупатель в поле "количество" вводит, как ни странно, количество нужных ему сантиметров. Вуаля.

Какие опции?

такая реализация мне бы подошла, но удобнее если бы

1) покупатель вводил цену в метрах, тоесть 2м,5м, 7,8м, 15,25м

и

2) чтобы цена изменялась сразу при вводе значения..

хотябы одно с двух реализовать - было бы супер)

лучьше конечно второе..

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

1) Ну вы начали с сантиметров, я их и привел в качестве примера - может у вас ткани с позолотой и её сантиметрами отмеряют.

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

2) Цена за метр у вас не меняется. А в корзине покупатель увидит и общую сумму, и отредактирует метраж при необходимости. Или я не понял, что конкретно требуется.

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

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


  • 1 month later...

1) Ну вы начали с сантиметров, я их и привел в качестве примера - может у вас ткани с позолотой и её сантиметрами отмеряют.

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

2) Цена за метр у вас не меняется. А в корзине покупатель увидит и общую сумму, и отредактирует метраж при необходимости. Или я не понял, что конкретно требуется.

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

 

Такой метод http://loco.ru/materials/205-opencart-auto-update-price-option-selection можно перенести на изменение цены в зависимости от выбранного количества товара ? Если да, то откуда начинать?

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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