нет цены

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем sibrus, 14 май 2015.

  1. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
    Подскажите пожалуйста где и как сделать, что бы если нет цены "0р." то писалось не "0р.", а "Цену уточнить у менеджера"?

    Заранее благодарен.
     
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.863
    Симпатии:
    1.059
    если просто прямо в шаблоне, то так

    меняем это
    PHP:
     <?php echo $product['price']; ?>
    на это
    PHP:
    <?php echo ($product['price'] == '0р.') ? 'бесплатно' $product['price']; ?>
     
    RoS нравится это.
  3. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
    Спасибо, но поменялось только на первой странице где выведен весь ассортимент, когда заходишь в товар - там "0р."
    И в вашем примере я поставил вместо == один = тогда заработало.
    На первой странице поменялось когда поменял в "catalog\view\theme\default\template\product\category.tpl", поменял во всех оставшихся 4-х файлах где была такая строчка (product, manufacturer_info, search, special) ничего не изменилось.

    Где добавить чтоб везде отображалось так? не только в общей странице...
     
  4. Ravilr

    Ravilr Специалист

    Сообщения:
    3.863
    Симпатии:
    1.059
    менять во всех нужных файлах (см. Руководство дизайнера в разделе Документация)
     
  5. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
    в файле product.tpl надо заменить
    Код:
    <?php echo $price; ?>
    на
    Код:
    <?php if ($price=='0р.'){ echo '<a href="contact-us/">Цену уточняйте у менеджера</a>'; }else{ echo $price; } ?>
    а в файле category.tpl
    Код:
    <?php echo $product['price']; ?>
    на
    Код:
    <?php if ($product['price']=='0р.'){ echo '<a href="contact-us/">Цену уточняйте у менеджера</a>'; }else{ echo $product['price']; } ?>
     
    Последнее редактирование: 19 сен 2015
    LexaZ нравится это.
  6. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    а почему в неправильной кодировке??
     
  7. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
    у меня utf-8
    Код:
    <?php if ($price=='0р.'){ echo '<a href="contact-us/">Цену уточняйте у менеджера</a>'; }else{ echo $price; } ?>
     
  8. Vic-tor

    Vic-tor Новичок

    Сообщения:
    2
    Симпатии:
    0
    А как не выводить цену в карточке товара, если она 0.00, так как есть несколько вариантов его стоимости, которые я вывожу в опциях.
     
  9. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    $price=='0.0р.'

    ну поднимите выше глаза, все же написано.
     
  10. menipeni

    menipeni Новичок

    Сообщения:
    2
    Симпатии:
    0
    Подскажите пожалуйста, что прописать в файлах если стоимость выводится в трех валютах ( рубли, евро и доллары)?
    Для рублей добавил:
    <h2><?php if ($price=='0.00 р.'){ echo '<a href="contact-us/">Цена по запросу</a>'; }else{ echo $price; } ?></h2>
    <?php if ($product['price']=='0.00 р.'){ echo '<a href="contact-us/">Цена по запросу</a>'; }else{ echo $product['price']; } ?>
    Соответственно к рублям условие применяется, а к евро и долларам нет)
     
  11. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    Решение дано для единичного случая и для одной валюты. А делать нужно по нормальному, т.е через контроллер.
    \catalog\controller\product\product.php

    находите
    PHP:
    $data['price'] = $this->currency->format итд........
    и ниже вставляете
    PHP:
    $data['price_z'] = (int)$product_info['price'];
    Вот теперь можно писать условие
    PHP:
    if ($price_z == 0) {
       
    тут что то
    }
     
  12. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    более правильно на мой взгляд
    получить массив валют
    Создать массив цен
    $price_currency = array();
    foreach ($currencies) {
    $price_currency[$curency['code'] = здесь форматированная и конвертированная цена в нужную валюту
    }
     
  13. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    А зачем? Идеи не понял...
     
  14. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    ну вот зачем, ведь реально непонятно ко какой валюте речть идет, а если там еще какие-то привязки.
    Может я не совсем понял "задание"
     
  15. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    С привязками да.. а так ведь вроде изначальное задание простое.. написать вместо 0.00 , что то другое, например "Уточнить у менеджера."
     
  16. vikaharkov

    vikaharkov Продвинутый пользователь

    Сообщения:
    676
    Симпатии:
    71
    Отключите их, делов-то
     
  17. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    Это зачем?
     
  18. menipeni

    menipeni Новичок

    Сообщения:
    2
    Симпатии:
    0
    В product.php добавил
    $data['price_z'] = (int)$product_info['price'];
    В product.tpl <h2><?php if ($price_z=='0.00 $'){ echo '<a href="contact-us/">Цена по запросу</a>'; }else{ echo $price; } ?></h2>
    На странице товара условие работает. При смене валюты, мой текст ( цена по запросу ) сохраняется.

    В категориях это сделать не получается.

    Подскажите как сделать в категориях.
    В category.tpl меняю <?php echo $product['price']; ?>
    на <?php if ($product['price_z']=='0.00 $'){ echo '<a href="contact-us/">Цена по запросу</a>'; }else{ echo $product['price']; } ?>

    Что нужно добавит в category.php, или для категорий иначе нужно действовать?
     
  19. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    Я вам показал как! Зачем вы все делаете неправильно??

    Ну конечно по другому.
    находим
    PHP:
    'price'       => $price,
    и после вставим
    PHP:
    'price_z'       => (int)$result['price'],
    Итого в шаблоне сравниваем с нулем $product['price_z']
     
  20. captainac

    captainac Новичок

    Сообщения:
    2
    Симпатии:
    0
    Спасибо за рабочий код, в товаре и категориях цены меняются на надписи. Не меняются ноли в рекомендуемых товарах, выводимых внизу карточки товара.
    Помогите плиз, так понимаю в product.tpl надо еще что-то поправить для этого?