Отображение наличия товара в категории Opencart
01 июня, 2016 :: Автор - stehlen :: Рубрика - Интернет, Создание сайта
В OpenCart по умолчанию не отображается статус товара на складе в категориях, поиске и спецпредложениях. Клиенту приходится заходить в товар, что бы узнать о наличии. Данное руководство исправляет данный недостаток и добавляет новую функцию — расширенные статусы (при остатке 0 на складе используется статус товара из админки (предзаказ, нет в наличии), при 1-2 штуках статус товара заканчивается и при более 2 — есть в наличии.
Взято и собрано воедино из источников:
http://forum.opencart-russia.ru
В файлах:
- /catalog/language/russian/product/product.php
- /catalog/language/russian/product/manufacturer.php
- /catalog/language/russian/product/search.php
- /catalog/language/russian/product/special.php
Добавляем:
1 2 |
$_['text_outstock'] = 'Нет в наличии'; $_['text_minstock'] = 'Заканчивается'; |
Основные изменения:
В файлы:
- /catalog/controller/product/category.php
- /catalog/controller/product/manufacturer.php
- /catalog/controller/product/search.php
- /catalog/controller/product/special.php
После строк:
1 2 3 4 |
<?php class ControllerProductCategory extends Controller { public function index() { $this->load->language('product/category'); |
Вставляем:
1 |
$this->language->load('product/product'); |
После строк:
1 2 3 4 5 |
if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } |
Вставляем:
1 2 3 4 5 6 7 8 9 |
if ($result['quantity'] <= 0) { $stock = $result['stock_status']; } elseif ($this->config->get('config_stock_display')) { $stock = $result['quantity']; } elseif ($result['quantity'] >= 1 AND $result['quantity'] <= 2) { $stock = $this->language->get('text_minstock'); } else { $stock = $this->language->get('text_instock'); } |
И после:
1 2 3 4 |
$data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], |
Вставляем:
1 |
'stock' => $stock, |
Открываем:
- /catalog/view/theme/ваша_тема/template/product/category.tpl
- /catalog/view/theme/ваша_тема/template/product/manufacturer_info.tpl
- /catalog/view/theme/ваша_тема/template/product/search.tpl
- /catalog/view/theme/ваша_тема/template/product/special.tpl
После:
1 |
<h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4> |
Вставляем:
1 |
<div class="caption-stock"><?php echo $product['stock']; ?><p></p></div> |
В файле:
/catalog/view/theme/ваша_тема/stylesheet/stylesheet.css
Указываем нужный стиль:
1 2 3 |
.caption-stock { color: #353578; } |
Теги: opencart