Наличие товара в категории opencart скачать

Наличие товара в категории opencart

OpenCart не работает наличие на складе или выводим «в наличи» в Категории, а не только в карточке товара.
В одном из своих магазинов на базе OpenCart я столкнулся с проблемой что не работает наличие на складе в карточке товара. А именно когда я, в админке, выставлял одно из значений: Клиент, в карточке товара, видел все ту же надпись «В наличии». Если у вас только эта проблема, то ее устранить довольно просто. Дело в том что движок OpenCart сделан не совсем для рынка СНГ где все пишут «В наличии» даже на товар который давно не выпускается и в наличии его уже не будет уже никогда. Но поскольку продвжение сайта уже заказали, к примеру тут http://iq-adv.ru/ekaterinburg/prodvizhenie-sayta/ то и в наличии ставят «есть». Поэтому если в админке, в поле «Количество» стоит цифра отличная от нуля, то автоматически, для клиента выставляется что все есть.

Ну это как бы логично. Поэтому чтобы пользоваться переключателем который есть в базе, вам надо всего лишь выставить количество — ноль. Но в таком способе я вижу довольно много недостатков: Чтобы увидеть есть ли в наличии или нету клиенту надо зайти в карточку товара. Намного лучше клиенту, было бы сразу в категории видеть какие товары есть, а каких нету. Таким образом он будет выбирать из того что есть, а не проклацывать все товары Менеджерам постоянно приходиться менять и кол-во товара и переключатель, хотя на рынке СНГ за постоянным поддержанием реального наличия в магазине никто не следит. Изменять мы можем только на то что нам предложено, а именно только на надписи Pre-Order, Out of Stock, 2-3 Days. А неплохо было бы сделать эти надписи на русском и иметь возможность добавлять произвольные надписи к примеру «Заканчивается».

Итак, нам надо сделать простой способ оповещения о наличии товара как в карточке товара так и на стене категорий. Идеальным, на мой взгляд, решение будет такое — если кол-во товара = 0 то высвечивается «Нет в наличии». При количестве от 1-3 показывает «Заканчивается». При кол-ве больше 3-х нашим лидам показывает надпись «Есть в наличии». Для этого нам понадобится немного поколдовать с php, но это не будет проблемой. Для начала давайте поменяем в карточке товара. Для этого: Делаем резервную копию магазина Ищем файл /catalog/controller/product/product.php В этом файле найдите строки.

if ($product_info['quantity'] data['stock'] = $product_info['stock_status']; > elseif ($this->config->get('config_stock_display')) data['stock'] = $product_info['quantity']; > else data['stock'] = $this->language->get('text_instock'); > if ($product_info['quantity'] data['stock'] = $this->language->get('text_outstock'); > elseif ($this->config->get('config_stock_display')) data['stock'] = $product_info['quantity']; > elseif ($product_info['quantity'] >= 1 AND $product_info['quantity'] data['stock'] = $this->language->get('text_minstock'); > else data['stock'] = $this->language->get('text_instock'); > $_['text_instock'] = 'В наличии'; $_['text_instock'] = ' В наличии '; $_['text_outstock'] = ' Нет в наличии '; $_['text_minstock'] = ' Заканчивается '; С карточкой товара разобрались. Теперь нам надо сделать почти тоже самое, но теперь с категориями. Вывод наличия товара в категориях в OpenCart. Идем к файлу категорий по пути /catalog/controller/product/category.php После строчки. вставляем $this->language->load(‘product/product’); После строчки. if ($result['quantity'] language->get('text_outstock'); > elseif ($this->config->get('config_stock_display')) elseif ($result['quantity'] >= 1 AND $result['quantity'] language->get('text_minstock'); > else language->get('text_instock'); > 'description' => utf8_truncate(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 200, ' …', true), 'price' => $price,

С этим этапом мы закончили. Теперь можем загрузить файл назад, и все что нам осталось это изменить шаблон сайта, чтобы вывести данные о наличии. Ниже я приведу пример для дефотного шаблона, но по аналогии вы сможете вывести в нужном месте в вашем шаблоне. Идем по пути /catalog/view/theme/ваша_тема/template/product/category.tpl Находим строчку: Если вы все сделали правильно то у вас должно было выйти так как на картинке ниже.

На этом все, но если у вас остались вопросы или пожелания пишите в комментариях, попробую вам помочь.


Подборка редакции:
avatar