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

Вывод разницы цен между special и price


zvekov
 Поделиться

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

Добрый день!
Подскажите как можно в шаблоне вывести разницу между двумя значениями цен special и price.
например

цена товара 100 000 руб

цена со скидкой 80 000 руб

хочу вывести

Экономия 20 000 руб

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


если в лоб(без заморочек) в карточке товара

файл  \catalog\view\theme\ваш_шаблон\template\product\product.tpl

                <?php if (!$special) { ?>
                <li>
                  <h2><?php echo $price; ?></h2>
                </li>
                <?php } else { ?>
                <li><span class="special-price"><?php echo $price; ?></span></li>
                <li>
                  <h2><?php echo $special; ?></h2>
                  <p>экономия - <?php echo (float)$price - (float)$special;?> руб</p>
                </li>

 

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

если почти по феншую

файл   \catalog\language\ru-ru\product\product.php

добавить 

$_['text_econom'] = 'Экономия: ';  

файл   \catalog\controller\product\product.php

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

$data['text_option'] = $this->language->get('text_option');

после нее добавляем

$data['text_econom'] = $this->language->get('text_econom');

еще находим

			if ((float)$product_info['special']) {
				$data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
			} else {
				$data['special'] = false;
			}

после вставляем

                       if($data['price'] && $data['special']) {
                            $cost = (float)$product_info['price'] - (float)$product_info['special'];
                            $data['econom'] = $this->currency->format($this->tax->calculate($cost,$product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                        } else {
                            $data['econom'] = false;
                        }

файл   \catalog\view\theme\ваша_тема\template\product\product.tpl

              <?php if ($price) { ?>
              <ul class="list-unstyled full-price">
                <?php if (!$special) { ?>
                <li>
                  <h2><?php echo $price; ?></h2>
                </li>
                <?php } else { ?>
                <li><span class="special-price"><?php echo $price; ?></span></li>
                <li>
                  <h2><?php echo $special; ?></h2>
                  <p><?php echo $text_econom;?><?php echo $econom;?></p>
                </li>
                <?php } ?>
                <?php if ($tax) { ?>
                <li><?php echo $text_tax; ?> <?php echo $tax; ?></li>
                <?php } ?>
                <?php if ($points) { ?>
                <li><?php echo $text_points; ?> <?php echo $points; ?></li>
                <?php } ?>
                <?php if ($discounts) { ?>
                <?php foreach ($discounts as $discount) { ?>
                <li><?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?></li>
                <?php } ?>
                <?php } ?>
              </ul>
              <?php } ?>

 

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

а вообще по феншую, все изменения делаем через модификатор

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

Добавил в  \catalog\view\theme\ваш_шаблон\template\product\category.tpl

                <li>
                  <h2><?php echo $special; ?></h2>
                  <p>экономия - <?php echo (float)$price - (float)$special;?> руб</p>
                </li>

выводит ошибку
Notice: Undefined variable: price in/home/doma/мойсайт/docs/catalog/view/theme/default/template/product/category.tpl on line 126Notice: Undefined variable: special in /home/doma/мойсайт/docs/catalog/view/theme/default/template/product/category.tplon line 1260 руб

меня устроит этот вариант, т.е. в лоб)

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


4 часа назад, zvekov сказал:

\product\category.tpl

 

В 19.05.2017 в 13:37, fanatic сказал:

duct\product.tpl

это для карточки товара.

 

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

для категории

                <?php if ($product['price']) { ?>
                <p class="price">
                  <?php if (!$product['special']) { ?>
                  <?php echo $product['price']; ?>
                  <?php } else { ?>
                  <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span>
                   <p>экономия - <?php echo (float)$product['price'] - (float)$product['special'];?> руб</p>
                  <?php } ?>
                  <?php if ($product['tax']) { ?>
                  <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
                  <?php } ?>
                </p>
                <?php } ?>

 

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

12 часов назад, fanatic сказал:

для категории


                <?php if ($product['price']) { ?>
                <p class="price">
                  <?php if (!$product['special']) { ?>
                  <?php echo $product['price']; ?>
                  <?php } else { ?>
                  <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span>
                   <p>экономия - <?php echo (float)$product['price'] - (float)$product['special'];?> руб</p>
                  <?php } ?>
                  <?php if ($product['tax']) { ?>
                  <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
                  <?php } ?>
                </p>
                <?php } ?>

 

спасибо, от души!)

всё работает

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


  • 10 месяцев спустя...

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

Снимок экрана 2018-04-06 в 18.45.32.png

 

ЗЫ - как убрать точку перед зеленой рамкой?

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


  • 5 месяцев спустя...
В 20.05.2017 в 23:03, fanatic сказал:

для категории


                <?php if ($product['price']) { ?>
                <p class="price">
                  <?php if (!$product['special']) { ?>
                  <?php echo $product['price']; ?>
                  <?php } else { ?>
                  <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span>
                   <p>экономия - <?php echo (float)$product['price'] - (float)$product['special'];?> руб</p>
                  <?php } ?>
                  <?php if ($product['tax']) { ?>
                  <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
                  <?php } ?>
                </p>
                <?php } ?>

 

а как сделать что бы цена пересчитывалась при изменении опции и количества в категориях???

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


42 минуты назад, svitlo сказал:

при изменении опции и количества в категориях

для начала, нужно вывести опции и количество в категории.  у вас выведены?

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

да модулем опции и атребуты в категориях.... проблема в том что я использую модуль дисконт сале про для создания акций однако он не создает акции как таковые и модуль их не пересчитывает! Старая цена пересчитывается без проблем а новая                   <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new" <?php echo isset($product['date_end']) && $product['date_end'] ? "data-end-date='{$product['date_end']}'" : ""; ?>><?php echo $product['special']; ?></span>

special которая просто стоит не движимо и все(

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


  • 11 месяцев спустя...

у меня вопрос как вывести экономия столько то рублей при заказе от 5шт от 10шт столько то

пробовал метод выше но он только для special мне нужно для discount помогите плиз срочно нужно

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


On 8/29/2019 at 11:34 PM, talgatuza said:

у меня вопрос как вывести экономия столько то рублей при заказе от 5шт от 10шт столько то

пробовал метод выше но он только для special мне нужно для discount помогите плиз срочно нужно

 

<li><?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?> экономия - <?php echo (float)$price - (float)$discount['price']; ?> руб.</li>
Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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

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

Войти

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

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

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

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

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

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