Основная цена = Акционная цена (как убрать акционную если равны?)

Тема в разделе "Общие вопросы", создана пользователем staniki, 10 сен 2020.

  1. staniki

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

    Сообщения:
    36
    Симпатии:
    0
    Привет комрады :) Такая ситуация:

    У клиента интеграция c 1с и стоят две цены, основная и акционная, и выгружаются они всегда и именно две, но вот в чем проблема, очень часто и основная цена и акционная одинаковые, то есть равны. Как можно решить проблему, что бы если основная цена = акционная цена, то акционная не выводилась бы.

    Я так понимаю надо копаться в модели product.php? Но где и что прописывать?
    Спасибо :)
     
  2. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    239
    PHP:
    'special'          => ($query->row['special'] != $query->row['price'] ? $query->row['special'] : ''),
     
    staniki нравится это.
  3. staniki

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

    Сообщения:
    36
    Симпатии:
    0
    Помогло, но вот что вылезло еще

    Код:
    Warning
    : A non-numeric value encountered in
    /storage/modification/catalog/controller/product/category.php
    on line
    263
     
  4. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    239
    покажите эту строку
     
  5. staniki

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

    Сообщения:
    36
    Симпатии:
    0
    Ошибся, конфликтует с шаблоном unishop2 вот тут

    Код:
    Warning
    : A non-numeric value encountered in
    /public_html/catalog/controller/extension/module/uni_five_in_one.php
    on line
    171
    Код:
                            'special_value'     => $this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))*$this->currency->getValue($currency),
     
  6. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    239
    сделайте проверку, как в категории
    PHP:
                    if ((float)$result['special']) {
                        
    $special $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                    } else {
                        
    $special false;
                    }
     
  7. staniki

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

    Сообщения:
    36
    Симпатии:
    0
    простите за тупость, это в каком файле проверку делать?
     
  8. staniki

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

    Сообщения:
    36
    Симпатии:
    0
    Вот тут
    Код:
    Warning
    : A non-numeric value encountered in
    /home/storage/modification/catalog/controller/product/category.php
    on line
    263
    Тоже самое, все из за этой строчки
    Код:
    'special_value'     => $this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))*$this->currency->getValue($currency),
     
  9. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    239
    во всех, где эта ошибка
    в категории из коробки есть эта проверка, но какой-то модификатор изменил добавление цены по акции.
    в модуле, можно сделать в файле, а в категории нужно искать модификатор, который изменяет добавление акционой цены в массив с товарами
     
  10. staniki

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

    Сообщения:
    36
    Симпатии:
    0
    Ага, в модуле нашел проверку, она там есть

    Код:
    if ((float)$result['special']) {
                            $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $currency);
                        } else {
                            $special = false;
                        }
     
  11. staniki

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

    Сообщения:
    36
    Симпатии:
    0
    Но все равно ошибка та же
     
  12. fanatic

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

    Сообщения:
    1.415
    Симпатии:
    239
    есть, но она до одного места
    у вас же ошибка где?
    нужно так
    PHP:
    special_value' => $special,
     
    staniki нравится это.
  13. staniki

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

    Сообщения:
    36
    Симпатии:
    0
    Все, теперь понятно :) А что вообще это за конструкция?
    Код:
    $this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))*$this->currency->getValue($currency),
    Что делает?