Показать цену товара при нулевом количестве Simpla

Показать цену товара при нулевом количестве Simpla

Сегодня мы продолжим изучать всякие полезности по движку для замечательных Интернет-магазинов - Simpla CMS. И рассмотрим пример, в котором научимся показывать цену товара, если его количество достигло 0. По-умолчанию, если количество товара 0 - то в цикле формирования товара не проходит условие и выполняется код, который стоит после {else}. Но даже если в него написать цену, то она не покажется или покажется неправильно. Как с этим бороться? Попробуем разобраться.

Мы пойдем на маленькую хитрость. Отключим проверку на количество товара - таким образом все товары, не зависимо от количества, будут обрабатываться по одному и тому же коду (как будто условие проходит для всех). А сами допишем дополнительное условие, прямо в коде, проверяющее, что количество равно 0. Внимание, я делаю изменения на версии Simpla 2.3.6.

Чтобы отключить проверку количества товара, идем: view/View.php, находим на 233 строке следующий код:

$variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true));

И меняем его, чтобы получилось следующее:

$variants = $this->variants->get_variants(array('product_id'=>$products_ids));

Это мы сделали для главной страницы. Для страницы товаров нужно поправить файл view/ProductsView.php. Было (157 строка):

$variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true));

Стало:

$variants = $this->variants->get_variants(array('product_id'=>$products_ids));

Вот и все, проверку мы отключили. Теперь как нам сделать так, чтобы если количество было 0, то появлялась надпись: Под заказ? Очень просто. Для этого добавим следующую проверку:

{if $v->stock == 0}Под заказ!{/if}

Таким нехитрым способом мы проверяем, что количество равно 0 и выполняем код. В данном случае выводим надпись: Под заказ!

Вот и все, всем удачи и хороших прибыльных магазинов!

26.03.17
Для просмотра сайта обновите браузер.