Перейти к содержанию
Russia

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

Рекомендуемые сообщения

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Возникла следующая проблема. Допустим, есть товар, у которого имеются несколько разных комплектаций. Допустим, три штуки. Они отличаются стоимостью: 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 сори напутам, вам скидки не подойдут. Хотя может с опциями можно аналогично проделать

Изменено пользователем ANiMAL

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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;
							}

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.