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

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

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

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

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


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

от чего и где?

а то, простите уж, от балды - самое мягкое сравнение.

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


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

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

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


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

Неправильно

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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


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

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

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


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

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

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


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

 

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


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

В данной теме и в 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 пользователей онлайн

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

×

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

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