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

Как изменить цену товара запросом jquery / php


Recommended Posts

Можно ли как то влиять на цену товара посредством jquery / php? 

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

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


  • AlexMax13 changed the title to Как изменить цену товара запросом jquery / php
21 минуту назад, AlexMax13 сказал:

Можно ли как то влиять на цену товара посредством jquery / php? 

 

Какое то не соответствие в ваших словах

Мне проще написать скрипт

и

Такое возможно?

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


Тільки що, yurame1nik сказав:

 

Какое то не соответствие в ваших словах

Мне проще написать скрипт

и

Такое возможно?

 

я имею ввиду что будет готовый калькулятор который самостоятельно напишу, он будет рассчитывать нужную мне цену. Но как заставить эту цену попасть в корзину? Т.е. заменить цену товара http://joxi.ru/n2YJRoBU7ZQb4A не только визуально, но и чтобы эта цена попадала в корзину.

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


Условно, это можно сделать - добавив поле в таблицу cart - my_price

а при выводе использовать ее, а не product.price

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

легкий пример:

имеем кнопку, клик по которой визуально заменяет цену товара:

<button onclick="$('#content .col-sm-4 .list-unstyled h2').html('700р')">Цена 700р</button>

Но как заставить сайт принять эту новую цену программно, а не только визуально до следующей перезагрузки страницы?

 

Я так понимаю возможно нужно копать тут:

<script type="text/javascript"><!--
$('#button-cart').on('click', function() {
	$.ajax({
		url: 'index.php?route=checkout/cart/add',
		type: 'post',
		data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'),
		dataType: 'json',
		beforeSend: function() {
			$('#button-cart').button('loading');
		},
		complete: function() {
			$('#button-cart').button('reset');
		},
		success: function(json) {
			$('.alert-dismissible, .text-danger').remove();
			$('.form-group').removeClass('has-error');

			if (json['error']) {
				if (json['error']['option']) {
					for (i in json['error']['option']) {
						var element = $('#input-option' + i.replace('_', '-'));

						if (element.parent().hasClass('input-group')) {
							element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
						} else {
							element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
						}
					}
				}

				if (json['error']['recurring']) {
					$('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>');
				}

				// Highlight any found errors
				$('.text-danger').parent().addClass('has-error');
			}

			if (json['success']) {
				$('.breadcrumb').after('<div class="alert alert-success alert-dismissible">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');

				$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');

				$('html, body').animate({ scrollTop: 0 }, 'slow');

				$('#cart > ul').load('index.php?route=common/cart/info ul li');
			}
		},
        error: function(xhr, ajaxOptions, thrownError) {
            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
	});
});
//--></script> 

 

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


7 хвилин назад, chukcha сказав:

Условно, это можно сделать - добавив поле в таблицу cart - my_price

а при выводе использовать ее, а не product.price

 

в таком случае цена будет изменена из админки админом, а мне нужно чтобы менялась непосредственно на странице товара на сайте перед попаданием в корзину. Это на подобии опций, т.е. выбираем доп опцию и цена прибавляется. Но чтобы без опций, а просто править значение напрямую, чтоб в корзину попадал товар с измененной стоимостью. Вот яркий пример https://manov.com.ua/index.php?route=product/product&path=136&product_id=539 но там стоимость в зависимости от размеров реализована не стандартной опцией

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


Еще пример:

Товар: Толстовка стандартной стоимостью 500 рублей

 

Покупатель зашел на страницу товара, выбрал размер к пример: ХХL и к цене прибавилось еще 100 рублей, и конечная цена уже 600 руб для этого покупателя.

 

Но я хочу менять цену без опций, так как мне нужно для размеров, а их большое количество. И заполнять по 400 опций для каждого товара не вариант. Проще прилепить какой то слайдер и стандартно вбить туда линейку значений с заданными границами изменения цены. И после того как покупатель дергает ползунок меняется цена (это я могу сделать) и заменяет стандартную цену товара (а это нет, нужно запросом отправлять готовое значение цены). 

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


18 часов назад, AlexMax13 сказал:

Покупатель зашел на страницу товара, выбрал размер к пример: ХХL и к цене прибавилось еще 100 рублей, и конечная цена уже 600 руб для этого покупателя.

 

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

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

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


Цитата

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

 

Свыше 400 опций на товар только чтобы выбрать размер. Прикалываетесь?! Я спрашифаю у форумчан как без танцов с бубнами влиять на цену товара. Уверен данный вопрос уже давно интересен не только мне.

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

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


В 03.06.2021 в 12:36, chukcha сказал:

Условно, это можно сделать - добавив поле в таблицу cart - my_price

а при выводе использовать ее, а не product.price

вы читали?

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

9 часов назад, AlexMax13 сказал:

 

Свыше 400 опций на товар только чтобы выбрать размер. Прикалываетесь?! Я спрашифаю у форумчан как без танцов с бубнами влиять на цену товара. Уверен данный вопрос уже давно интересен не только мне.

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

 

что вам мешает сделать к товару пару опций и посмотреть как это обрабатывает опенкарт а??? а потом это решение внедрить в свой калькулятор

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

10 часов назад, AlexMax13 сказал:

 

Свыше 400 опций на товар только чтобы выбрать размер. Прикалываетесь?! Я спрашифаю у форумчан как без танцов с бубнами влиять на цену товара. Уверен данный вопрос уже давно интересен не только мне.

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

 

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

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

18 годин назад, Venter сказав:

 

что вам мешает сделать к товару пару опций и посмотреть как это обрабатывает опенкарт а??? а потом это решение внедрить в свой калькулятор

Я не понимаю зачем спамить в теме. Если знаете и желаете подсказать - подскажите. Ответы пальцем в небо - не ответы.

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


В 05.06.2021 в 10:35, chukcha сказав:

вы читали?

Да, и ответил вам.

 

Цитата

в таком случае цена будет изменена из админки админом, а мне нужно чтобы менялась непосредственно на странице товара на сайте перед попаданием в корзину. Это на подобии опций, т.е. выбираем доп опцию и цена прибавляется. Но чтобы без опций, а просто править значение напрямую, чтоб в корзину попадал товар с измененной стоимостью. Вот яркий пример https://manov.com.ua/index.php?route=product/product&path=136&product_id=539 но там стоимость в зависимости от размеров реализована не стандартной опцией

 

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


1 час назад, AlexMax13 сказал:

Да, и ответил вам.

 

 

Где вы увидели что это делается из под админки?
 

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

4 години назад, chukcha сказав:

Где вы увидели что это делается из под админки?
 

 

Возможно я вас не верно понимаю. Можете более детально объяснить?

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


Ок, добавляете в таблицу oc_cart поле - цена товара

в cart->add - туда кастомную цену (естественно - провалидированную)


В корзине
в getProducts - цену берете оттуда (если пусто, то из карточки товара)

 

 

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

В 06.06.2021 в 21:37, chukcha сказав:

Ок, добавляете в таблицу oc_cart поле - цена товара

в cart->add - туда кастомную цену (естественно - провалидированную)


В корзине
в getProducts - цену берете оттуда (если пусто, то из карточки товара)

 

 

 

Спасибо. При данном методе в корзину будет попадать цена которая была сформирована в моем калькуляторе на странице товара?

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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