Суть в том, что на странице товара выводится модуль, который позволяет сделать мгновенный заказ (SuperQuickCheckout). Модуль выводится в колонке, никак не могу придумать, как бы можно было его скрывать его, если цена товара меньше 2000р например. Может у кого-то есть мысли?
Для начала возможно потребуется очистить переменную $price от лишних данных(пробелов и приставок валютных). Я делал так: Код: <?php $price2 = (float) $price; ?>
ага, именно так и есть, цена у меня имеет пробелы и значение валюты и условие из-за этого не работает. (float) $price не совсем помогает, вот примеры цен 18.00 (восемнадцать), 400.00 (четыреста), 1 200.00 (тысяча двести), 18 000.00 (восемнадцать тысяч). Значения (float) $price для приведенных цен будут 18, 400, 1, 18 - т.е. фактически до первого разделителя.
Не надо так извращаться! Надо просто из контроллера дополнительно вывести чистую не отформатированную цену и проверять её. Только это всё не решает вопрос, как доступ к этой цене получить из колонки. Единственное, что мне приходит в голову, это отдельно в контроллере колонки читать из ссылки id товара и доставать его цену из базы.
можно скрыть через display:none не самое элегантное решение, но как вариант. Решение с правкой контроллера и получением цены товара в его контроллере напрашивается, конечно. но мне оно кажется замороченным.
1. product.php - контроллер там где, $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); добавляем $this->config->set('price_value',$product_info['price']); 2. в модуле, где нужно проверить if ( $this->config->get('price_value') { выводим модуль } Вот приблизительное решение...
Я думал о подобном решении, но думал о сохранении в сессию, а это требует уже каких-то уникальных ключей, чтоб количество между товарами не перепуталось, плюс просто забивает сессию хламом. Как-то я упустил, что в конфиге эта проблема решается сама собой путём стирание из него при каждом запросе всего, что было добавлено через сеттер (точнее, пересоздания без этих данных). Думаю, это наилучшее решение.
У меня работает, потому что цена целочисленная и без пробелов. Вообще на мой взгляд лучше делать ценны целочиленными, ценники типа 9.99 лично меня раздражаю очень. А пробел можно убрать регуляркой как уже написали.