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

[Решено] Если цена выше указанной то вывести надпись. Как учитывать и скидочную цену?

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

Добрый день.

В карточке товара вывожу надпись к примеру Бесплатная доставка при условии если цена товара выше 1500.

Вывожу таким условием 

<?php $price;
    if($price >= 100) { ?>
<!--Информация для товаров до 1500 р. -->
<div class="info-paid-service">Платная  доставка</div>
<!--Информация для товаров свыше 1500 р. -->
    <?php } elseif ($price <= 1500) { ?>
<div class="info-free-shipping">Бесплатная  доставка</div>
<?php } ?>

Но столкнулся с проблемой что скидочная цена не учитывается.

 

Тоесть если начальная цена была 2000, а цена со скидкой будет 1100 то всё равно будет выводится надпись Бесплатная доставка.

 

Как включить в условие ещё проверку по скидочной цене?

 

Спасибо.

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


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

Цена со скидкой у Вас $special, я так понимаю?

!$special ? $price_for_delivery = $price : $price_for_delivery = $special;

и дальше через $price_for_delivery
if($price_for_delivery >= 100) {
...
  • +1 1

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


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

Спасибо но не сработало почему-то( 

22f011920b.png

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


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

ну да, все забываю про символ валюты, в $price и $spacial она уже есть.

!$special ? $price_for_delivery = preg_replace("/[^\d.]/","",rtrim($price, " \t.")) : $price_for_delivery = preg_replace("/[^\d.]/","",rtrim($special, " \t."));
  • +1 1

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


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

Хм, теперь везде пишет Платная доставка(

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


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

Хм, теперь везде пишет Платная доставка(

Еще раз проверьте, что скопировали. Я правил пост.

  • +1 1

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


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

проверил, вот так вставил

<?php !$special ? $price_for_delivery = preg_replace("/[^\d.]/","",rtrim($price, " \t.")) : $price_for_delivery = preg_replace("/[^\d.]/","",rtrim($special, " \t."));
    if($price_for_delivery >= 100) { ?>
<!--Информация для товаров до 1500 р. -->
<div class="info-paid-service">Платная  доставка</div>
<!--Информация для товаров свыше 1500 р. -->
    <?php } elseif ($price_for_delivery <= 1500) { ?>
<div class="info-free-shipping">Бесплатная  доставка</div>
<?php } ?>

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


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

Прошу прощения, я тупонул со знаками, всё работает, спасибо.

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

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

×

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

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