Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Вывод текста в карточке товара в зависимости от его цены


Recommended Posts

Доброго времени! Пытаюсь сделать такую штуку. Пишу блок div в product.tpl, чтобы в карточке товара выводилась информация о доставке. 

<div class="info_delivery">
    <h2>Доставка и оплата</h2>
       <?php if ($price >= 5000) { ?>
           <p>Мы доставим этот товар бесплатно!</p>
        <?php } ?>
        <p>Доставка по городу - 400 р. Уточните тарифы для своего населенного пункта <a href="/" target="_blank">здесь</a>.</p>
</div>

То есть идея состоит в следующем. Если цена товара больше 5000, то выводится текст "привезем бесплатно", если меньше - то, что во втором абзаце. Однако переменная $price, как я понимаю, в данном случае форматированная строка, поэтому сравнение ее с числом дает false и всегда выводится только второй абзац, вне зависимости от выставленной цены товара. 

 

Пыталась сделать, как предложено здесь, но это ничего не дало. Подскажите, пожалуйста, как правильно записать условие в операторе if, чтобы он брал именно численное значение цены, а не строку? Заранее спасибо!

Link to post
Share on other sites

<?php $newprice  = preg_replace( '/[^.\d]/', '', $price  ); ?>
<div class="info_delivery">
    <h2>Доставка и оплата</h2>
       <?php if ($newprice >= 5000) { ?>

 

Link to post
Share on other sites

catalog/controller/product/product.php

добавьте к примеру 
 

$data['price_val'] = $product_info['price'];

ниже 
$data['price'] = $this->currency->format($this->...............

 

Потом уже в шаблоне оборачивайте в условие
 

<?php if ($price_val >= 5000) { ?>

 

Link to post
Share on other sites

Ещё лучше видимо сделать это через контроллер ....
catalog/controller/product/product.php

                if ($product_info['price'] >= 5000) {
                    $data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                } else {
                    $data['price'] = $this->language->get('text_mytext');
                }

ну и в языковой файл карточки товара
 

$_['text_mytext'] = ' Мы доставим этот товар бесплатно!';

но это уже мысли вслух ))))

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.