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

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


Recommended Posts

Добрый день!
Подскажите как можно в шаблоне вывести разницу между двумя значениями цен 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 months later...

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

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

 

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

Змінено користувачем davayigrat
Надіслати
Поділитися на інших сайтах


  • 5 months later...
В 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 months later...

у меня вопрос как вывести экономия столько то рублей при заказе от 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 користувачів

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

Important Information

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