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

[Решено?..] Цены от


emti

Recommended Posts

Неправильно

Например: почему нет точной цены?

Ведь если у вас ОТ, то человек не может оплатить заказ. Потому что кто ж его знает, сколько на самом деле стоит тарелка супа в сингапуре ночью? От 5 долларов до скольки? Как оформить заказ?

Напишите свою цель: для чего, где и в каком виде вам нужно писать цену "от"

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

Тогда просто впишите в шаблон товара, категорий и других страниц, где это хотите видеть

Например на странице товара

catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl 

вам нужно искать блок с переменной $price, перед которой можете тупо текстом написать ОТ 

Но это не отвечает на мой вопрос "как человеку оформить заказ, если точная цена не известна?"

С этим уж подсказать не смогу, так как вы не дали никакой информации

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

У меня проэк постельное бельё, хотел задать ценну например на постельное бельё 3000 на 1,5 спальное, далее в опциях уже ставить + за ценную 2-сп итд. Спасибо за помощь

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


Версия движка какая?Там где у товара нет опций,следовательно цена одна и не нужно  "ОТ" что выводить?

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

Там где у товара нет опций,следовательно цена одна и не нужно  "ОТ" что выводить?

 

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

  • 3 weeks later...

В данной теме и в https://opencartforum.com/topic/54738-%D0%BD%D0%B0%D0%B4%D0%BF%D0%B8%D1%81%D1%8C-%D1%86%D0%B5%D0%BD%D0%B0-%D0%BE%D1%82-%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5/?hl=%2B%D1%86%D0%B5%D0%BD%D0%B0+%2B%D0%BE%D1%82 не нашел для себя решения.

 

Есть ли готовое решение для вывода приставки перед ценой в category.tpl для продуктов, имеющих опции с ценой более чем 0?

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


Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом:

<?php if ($product['options']) { ?>
от
<?php } ?>
Надіслати
Поділитися на інших сайтах

 

Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом:

<?php if ($product['options']) { ?>
от
<?php } ?>

Спасибо! Сделал так, теперь отображается приставка у товаров с опциями. Осталось докумекать как выводить это только при условии что установлена цена опции более 0....

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


Вывести из массива опций максимальную цену, и если она >0, выводить приставку.

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

Вывести из массива опций максимальную цену, и если она >0, выводить приставку.

К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось:

controller
			$data['options'] = array();

			foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) {
				if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') {
				$product_option_value_data = array();

				foreach ($option['product_option_value'] as $option_value) {
					if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) {

					$product_option_value_data[] = array(
							'price'                   => $option_value['price'],
						);
					}
				}
				$data['options'][] = array(
					'product_option_value' => $product_option_value_data,
				); 
			}}
					
				$data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'options'     => $data['options'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
					'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'      => $result['rating'],
					'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
				);

и 

tpl
				<?php if ($product['options']) {  
						foreach ($product['options'] as $option) {
							foreach ($option['product_option_value'] as $option_value) { 
									if( ($option_value['price']) > 0) { 
									echo 'От'; 
								}
							}
						}
				} ?>
Надіслати
Поділитися на інших сайтах


Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php:

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
  foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) {
    if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){
    $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
    } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
    }
  }
} else {
  $price = false;
}

Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in  .....". Прошу помочь оптимизировать код.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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