Jump to content
Russia

Как сделать цены для товаров в диапазоне?

Recommended Posts

Здравствуйте!

Возникла следующая проблема. Допустим, есть товар, у которого имеются несколько разных комплектаций. Допустим, три штуки. Они отличаются стоимостью: 1000 р., 2000 р. и 3000 р. Создавать три разных товара с практически одинаковым описанием не хочется, хочется всё объединить в одну позицию. Как это сделать – понятно (ясно, что можно настроить выбор нужной комплектации, например, через chekbox, в итоге нужная стоимость посчитается в корзине). Но хотелось бы, чтобы в таком случае цена отображалась в диапазоне, то есть 1000...3000 р. Прикрепляю скриншоты с местами, где нужно видеть интервал, а не начальную цену. Подскажите, пожалуйста, есть ли способ добиться этого.

post-691256-0-48760800-1420726569_thumb.jpg

post-691256-0-66555400-1420726573_thumb.jpg

Share this post


Link to post
Share on other sites

Здравствуйте. В моем случае, нужно было указать диапазон цен без опций. Поэтому я прописывал вручную 2 поле. В Вашем же случае есть альтернатива.
 
А именно, в каждом товаре есть опции их и нужно использовать, что бы указать разную стоимость для 1 товара. Так же рекомендую использовать данное дополнение "Обновление цены при выборе опции, без AJAX (vqmod) v1.5.x". В таком случае цена будет меняться, но не будет отображаться диапазон цен.
Есть еще платный аналог http://www.opencart.com/index.php?route=extension/extension/info&extension_id=1605 - 15$. Плагин показывает диапазон цен для товара с опциями.

Share this post


Link to post
Share on other sites

Опции с кнопкой купить же

Share this post


Link to post
Share on other sites

Предположим так

 

 

в админке добавлено значение " = " для опций .Используются те самые опции чекбокс.

Share this post


Link to post
Share on other sites

Здравствуйте!

Возникла следующая проблема. Допустим, есть товар, у которого имеются несколько разных комплектаций. Допустим, три штуки. Они отличаются стоимостью: 1000 р., 2000 р. и 3000 р. Создавать три разных товара с практически одинаковым описанием не хочется, хочется всё объединить в одну позицию. Как это сделать – понятно (ясно, что можно настроить выбор нужной комплектации, например, через chekbox, в итоге нужная стоимость посчитается в корзине). Но хотелось бы, чтобы в таком случае цена отображалась в диапазоне, то есть 1000...3000 р. Прикрепляю скриншоты с местами, где нужно видеть интервал, а не начальную цену. Подскажите, пожалуйста, есть ли способ добиться этого.

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

В контролере категории /catalog/controller/product/category.php перед $this->data['products'][] = array(

добавил код:

				$discounts = $this->model_catalog_product->getProductDiscounts($result['product_id']);

				if (count($discounts) > 0) {
				$discount_min = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
		    			foreach ($discounts as $discount) {
					if (floatval($discount['price']) < floatval($discount_min)) $discount_min = $discount['price'];
		    			}
				$discount_min = $this->currency->format($this->tax->calculate($discount_min, $result['tax_class_id'], $this->config->get('config_tax')));			
				} else {
				$discount_min = false;
				}

и в массив $this->data['products'][] = array(

добавить

'discounts' => $discount_min,

 

Затем в шаблоне категорий вывел переменную в нужном месте

		<div class="discount">от 
		<?php echo $product['discounts']; ?>
		</div>

Если будете делать скидками то этот способ вам поможет, только вам в цикле (в контроллеле) нужно будет еще найти максимальное значение.

 

P.S сори напутам, вам скидки не подойдут. Хотя может с опциями можно аналогично проделать

Edited by ANiMAL

Share this post


Link to post
Share on other sites

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

 

А именно, в каждом товаре есть опции их и нужно использовать, что бы указать разную стоимость для 1 товара. Так же рекомендую использовать данное дополнение "Обновление цены при выборе опции, без AJAX (vqmod) v1.5.x". В таком случае цена будет меняться, но не будет отображаться диапазон цен.

Есть еще платный аналог http://www.opencart.com/index.php?route=extension/extension/info&extension_id=1605 - 15$. Плагин показывает диапазон цен для товара с опциями.

Спасибо за подсказку. Модуль с обновлением цены использую (уже достаточно удобно).

А с диапазоном можно вручную как-то прописать интервал? Или хотя бы слово "от" перед ценой?

 

Опции с кнопкой купить же

Какие опции? В смысле, что цена в корзине посчитается? Но важно настроить именно интервал.

Share this post


Link to post
Share on other sites

Предположим так

 

 

в админке добавлено значение " = " для опций .Используются те самые опции чекбокс.

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

 

Хотя может с опциями можно аналогично проделать

Знать бы как именно. Но на многих сайтах (не на opencart видел решение с интервалами цен, что довольно удобно).

Share this post


Link to post
Share on other sites

В контроллерах, где требуется получать списки - получать опции (цену, сортировать - выводить так как захочется) или например от NNNвалюты

Share this post


Link to post
Share on other sites

В контроллерах, где требуется получать списки - получать опции (цену, сортировать - выводить так как захочется) или например от NNNвалюты

Можно подробнее? Не понял о чём идёт речь.

Share this post


Link to post
Share on other sites

В контроллерах, которые получают список товаров, не вызываются методы работы с опциями.

 

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

Share this post


Link to post
Share on other sites

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

foreach ($option['option_value'] as $option_value) {
						if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
							if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
								$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
							} else {
								$price = false;
							}

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

Share this post


Link to post
Share on other sites

Здравствуйте! Подскажите может есть где такой модуль, или кто-нибудь может написать.

Модуль ползунка цен. Есть 0 значение и есть 100 с заранее заданными размерами по кубатуре, при передвижение ползунка цена меняется. (думаю модуль будет крайне полезен не только мне) Например 120х60 = 1000, 160х80=2000, 180х90=3000 , 200х100=4000

Вот ссылка где такой ползунок использован: http://www.modulart.ru/item/kc6#

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.