Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] Показ ЦЕНЫ по минимальной цене? или ЦЕНА от ... [{казнить нельзя помиловать}]


delovoy
 Поделиться

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

Вот такой каламбур получился :) Когда то Я уже подумал эту тему, но она почему-то не получила продолжения.

 

Ситуация следующая:

Предположим у вас есть товар имеющий разную стоимость в зависимости от кол-ва в одном заказе.

 

1000

900

800

 

Так вот, как сделать так, чтобы можно по мимо цены по умолчанию (что за 1ед товара), указывать "Цена от"?

 

В нашем примере "Цена от 800"

 

При этом сама расчетная часть должна оставаться не именной, т.е "ЦЕНА от" это своего рода маркетинговый ход,
Расчет же должен вестись по фактическому кол-ву в заказе.

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


catalog\controller\product\category.php

 

находим кусок кода

$this->data['products'][] = array(
	'product_id'  => $result['product_id'],
	'thumb'       => $image,
	'name'        => $result['name'],
до куска кода, вставляем
$dis = $this->model_catalog_product->getProductDiscounts($result['product_id']);
if (!empty($dis)) {
$dis_last = array_pop($dis);
$dis_price = $dis_last['price'];
$dis_price = $this->currency->format($this->tax->calculate($dis_price, $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$dis_price = false;
}				
 

после куска кода, добавляем

'discounts' => $dis_price,
 

далее

 

catalog\view\theme\default\template\product\category.tpl

 

находим например

<?php if ($product['price']) { ?>
      <div class="price">
 

после добавляем это


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

работает в версии 1.5.4.1 на странице списка товаров в категории.

Если надо в других модулях, то делаем по аналогии.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Спасибо, попробуем.

 

А можно ли сделать так, чтобы отображалось сразу две цены в карточке товара?

Минимальная и по умолчанию?

 

P.S.

не знаю правда, как потом опенкарт подсчитывать это все будет :)

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


  • 1 месяц спустя...

работает в версии 1.5.4.1 на странице списка товаров в категории.

Если надо в других модулях, то делаем по аналогии.

 

Вроде бы все работает, как было обещано, но ...

 

<?php echo $product['discounts'][0]['price']; ?><br />

 

не совсем понимаю атрибут [0] , как я понял, сюда я должен ставить кол-во позиций скидок, но тут недочет, в разных товарах свое кол-во позиций скидок. Те в одном их 3, в другом 6 и тп, а если я ввожу вместо 0 не существующее кол-во, то выдается ошибка :(

 

Плюс не понимаю, как убрать внизу Цену по умолчанию, убирал ['price'], выдает ошибку.

 

Вообще, может кто подскажет, какое нибудь более универсальное решение, которое могло бы определять минимальную ЦЕНУ ОТ, не зависимо кол-ва позиций скидок в товаре?

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


['discounts'][0]['price'] - это максимальная цена скидки, т.е самая первая.

Вот в том то и дело, что самая первая :)

 

Те к примеру имеется 3 позиции скидок

Цена по умолчанию за 1 ед 2000

в скидках

2 ед 1900

3 ед 1800

 

Но при этом атрибуте выдает Первую позицию в скидках 1900, а не ниже

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


у меня видимо на оборот было )) Надо так.


<div class="discount">

<?php if ($product['discounts']) { ?>

<?php $dis = array_pop ($product['discounts']); ?>

<?php echo $dis['price']; ?><br />

<?php } ?>

</div>

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Браво :)! 

 

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

 

И почему Скидочная цена отображается с нулями после запятой, хотя по умолчанию у меня это отменено и знак валюты не отображается  :(

 

Сейчас такой вид имеет:

 

1600.0000
1 900 р

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


И почему Скидочная цена отображается с нулями после запятой, хотя по умолчанию у меня это отменено и знак валюты не отображается   :(

 

Сейчас такой вид имеет:

 

1600.0000

1 900 р

 

исправил. см инструкцию

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

исправил. см инструкцию

 

Так рано радовался :)))))))))))))))))

 

Следующая ошибка появляется при попытке входа в категории



Parse error: syntax error, unexpected ';', expecting ')' in Z:\domains\site.ru\catalog\controller\product\category.php on line 199
 
Ссылка на комментарий
Поделиться на других сайтах


где то видимо скобку забыли поставить  или лишнюю наоборот

Ммм, нет все делал по твоей инструкции :) дважды, сегодня снова проверю, не знаю может конфликт с чем? :(

 

Повторил трижды!

 

$this->data['products'][] = array(

'product_id' => $result['product_id'],

'minimum' => $result['minimum'],

'thumb' => $image,

'name' => $result['name'],

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

if (!empty($dis)) {

$dis_last = array_pop($dis);

$dis_price = $dis_last['price'];

$dis_price = $this->currency->format($this->tax->calculate($dis_price, $result['tax_class_id'], $this->config->get('config_tax')));

} else {

$dis_price = false;

}

'discounts' => $dis_price,

'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',

'price' => $price,

'special' => $special,

 Вот кусок кода! все далее сделал, как из описания и ошибка также

 

Parse error: syntax error, unexpected ';', expecting ')' in Z:\domains\site.ru\catalog\controller\product\category.php on line 199

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


в середину массива нельзя пихать код

...
'name' => $result['name'],
$dis = $this->model_catalog_product->getProductDiscounts($result['product_id']); /* вот такое и что там до discounts */
...
'discounts' => $dis_price,
Ссылка на комментарий
Поделиться на других сайтах

в середину массива нельзя пихать код



...
'name' => $result['name'],
$dis = $this->model_catalog_product->getProductDiscounts($result['product_id']); /* вот такое и что там до discounts */
...
'discounts' => $dis_price,

Вот я так и подумал, но раз дали инструкции, так и делаем  :| 

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


инструкции нормальные.

код надо вставлять ДО

$this->data['products'][] = array(

редактируйте свои файлы.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Так заработало! :)

 

Признаю, видимо надо было воспринимать ДО не как ДО, а  как ПЕРЕД ;)

Потому что визуально это воспринималось именно так.

 

А чтобы цену убрать по умолчанию, что сейчас под скидочной отображается, этот элемент убрать надо <?php echo $product['price']; ?> ?

 

в catalog\view\theme\default\template\product\category.tpl

<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?> 

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


И пожалуй последний вопрос  8-)

 

Вот сейчас, все примет следующий вид:
1600 р

1 900 р

 

как добавить надпись "ОТ" (не в коде шаблона)

Я попробывал удалить из кода <?php echo $product['price']; ?>  цена по умолчанию удалилась.

Но как сделать так, чтобы убрав цену по умолчанию 1900, в случае отсутствия спеццены (скидочной), снова появлялась цена по умолчанию?  :ugeek:

 

Для примера есть Продукт 1 со скидочной ценой до 1600, показывается только цена от 1600

Есть Продукт 2, без установленной спеццены и должна показываться от 1900

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


Я что-то не то сказал? Или этот форум превращается в сборище троллей? Где вместо помощи, получаешь минусы!

Никто никого не заставляет, помогать, сидите и ковыряйте, другие же знать PHP и все тонкости движка не обязаны!

 

Вот какой вид, сейчас принимает сайт, если Скидочная цена не указана!

 

        от
1 900 р

 

со скидочной примерно так:

от 1600 р
     1900 р

 

Поэтому я задал вопрос, как сделать так, чтобы убрав цену по умолчанию 1900, в случае отсутствия спеццены (скидочной), снова появлялась цена по умолчанию?

Т.е я не хочу чтобы отображалось две цены одновременно - скидочная цена и цена по умолчанию! Или одна или другая!

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


  • 2 недели спустя...

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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