Отображение статуса на складе на странице категории

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем Ruzanoff, 11 ноя 2015.

  1. Ruzanoff

    Ruzanoff Новичок

    Сообщения:
    11
    Симпатии:
    5
    status.jpg
    Чтобы отобразить состояние товара на складе и не раскрывать количество можно выводить "статус на складе" прямо на странице категории.
    Для этого необходимо внести изменения в три файла:
    • controller/product/category.php
    • language/russian/product/category.php
    • catalog/view/theme/ваша_тема/template/product/category.tpl

    1. Находим в контроллере код:
    Код:
                    if ($this->config->get('config_review_status')) {
                        $rating = (int)$result['rating'];
                    } else {
                        $rating = false;
                    }
    И добавляем после него:
    Код:
                    if ($result['quantity'] <= 0) {
                        $stock = $result['stock_status'];
                                    } else {
                        $stock = $this->language->get('text_instock');
                    }
    И в массив, чуть ниже:
    Код:
    'stock'       => $stock,
    2. В языковой файл добавим строку, сообщающую о наличии товара. Текст можно сделать стимулирующим:
    Код:
    'text_instock' => 'Товар в наличии.<br /> Отправим уже завтра!',
    3. В файл шаблона, после этого div-а кнопок:
    Код:
                  <div class="button-group">
                    <button type="button" onclick="car......
    ....
    </button></div>
    добавим:
    Код:
    <div class="caption-stock"><?php echo $product['stock'];?></div>
    Стиль оформляем на своё усмотрение.
    Работает для OC2.1.0.1
     
    Последнее редактирование: 11 ноя 2015
    lebmarg, solunski.d, Ален и 2 другим нравится это.
  2. stehlen

    stehlen Новичок

    Сообщения:
    4
    Симпатии:
    3
    Не хватает только в поиске отображения. Основываясь на другой статье сделал чуть по другому:
    В файлах:

    • /catalog/language/russian/product/product.php
    • /catalog/language/russian/product/manufacturer.php
    • /catalog/language/russian/product/search.php
    • /catalog/language/russian/product/special.php
    Добавляем:
    Код:
    $_['text_outstock']  = 'Нет в наличии';
    $_['text_minstock']  = 'Заканчивается';

    Основные изменения:
    В файлы:
    • /catalog/controller/product/category.php
    • /catalog/controller/product/manufacturer.php
    • /catalog/controller/product/search.php
    • /catalog/controller/product/special.php
    После строк:
    Код:
    <?php
    class ControllerProductCategory extends Controller {
       public function index() {
         $this->load->language('product/category');
    Вставляем:

    Код:
    $this->language->load('product/product');
    
    После строк:
    Код:
    if ($this->config->get('config_review_status')) {
               $rating = (int)$result['rating'];
             } else {
               $rating = false;
             }

    Вставляем:

    Код:
    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');
    }
    И после:
    Код:
    $data['products'][] = array(
               'product_id'  => $result['product_id'],
               'thumb'  => $image,
               'name'  => $result['name'],
    Вставляем:
    Код:
    '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
    После:
    Код:
    <h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4>
    Вставляем:
    Код:
    <div class="caption-stock"><?php echo $product['stock']; ?><p></p></div>
    В файле:

    /catalog/view/theme/ваша_тема/stylesheet/stylesheet.css

    Указываем нужный стиль:
    Код:
    .caption-stock {
       color: #353578;
    }
     

    Вложения:

    tsap, Vlad и RoS нравится это.
  3. lebmarg

    lebmarg Новичок

    Сообщения:
    2
    Симпатии:
    0
    Для версии opencart 2.1.0.1 в карточке товара не отображается «Заканчивается» . А категории вообще не отображается статус товаров. Подскажите пожалуйста, может кто то разобрался как настроить для opencart 2.1
     
  4. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    А вы все правильно сделали? Кеш модиикатора не забыли почистить и проверить логи на ошибки и в модификаторах тоже?
     
  5. lebmarg

    lebmarg Новичок

    Сообщения:
    2
    Симпатии:
    0
    Вы правы, что то пошло не так. Обновила модификации, проверила, а на страницах категорий просто белые страницы без контента. Восстанавливаю резервную копию сайта)