Как вывести информацию о наличии товара на страницу категории?

Тема в разделе "Общие вопросы", создана пользователем DarkP, 8 ноя 2015.

  1. DarkP

    DarkP Новичок

    Сообщения:
    15
    Симпатии:
    4
    Всем привет!

    Собственно вопрос: как вывести информацию о наличии товара на страницу категории, где виден список всех товаров?

    Так чтобы после названия и краткого описания перед ценой была информация о наличии товара.

    Простое копирование
    Код:
    <?php echo $text_stock; ?> <?php echo $stock; ?>
    Из product.tpl в предполагаемое место в category.tpl результата не даёт. Вместо резульата появляется сообщение:
    З.ы, OpenCart Version 2.0.3.1 (rs.2)
     
  2. Bkmz

    Bkmz Продвинутый пользователь

    Сообщения:
    447
    Симпатии:
    109
    естественно :) вам ещё нужно править файл контроллера /catalog/controller/product/category.php
     
    DarkP нравится это.
  3. TheMechanical

    TheMechanical Новичок

    Сообщения:
    10
    Симпатии:
    1
    Естественно было бы хорошо, если бы кто-то подсказал что нужно добавить.
     
  4. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    257
    Симпатии:
    19
    Найдите в файле category.php
    Код:
                        'special'     => $special,
    под ним добавить:
    Код:
                        'stock'         => $result['stock_status'], 
    Должен заработать.
    P.S я так вводил SKU, UPC
     
  5. TheMechanical

    TheMechanical Новичок

    Сообщения:
    10
    Симпатии:
    1

    Версия 2.1.0.1
    Добавил, всё равно не находит переменную

    Notice: Undefined variable: stock
    catalog/view/theme/default/template/product/category.tpl on line 103
     
  6. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    257
    Симпатии:
    19
    В строке 103 что написано?
    Попробуйте вот так
    Код:
    На складе:  <?php echo $stock; ?>
     
  7. TheMechanical

    TheMechanical Новичок

    Сообщения:
    10
    Симпатии:
    1
    Ну переменную я то так и вывожу в category.tpl

    Код:
    103                <?php echo $stock; ?>
     
  8. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    257
    Симпатии:
    19
    Не должно быть по сколько в файле category.php мы не указали для него перемены по этому я указал текст:
    На складе: <?php echo $stock; ?>
     
  9. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    257
    Симпатии:
    19
    Код:
    <li>На складе::  <?php if ($product['stock']) { ?>
    <b><?php echo $product['stock']; ?></b></li>
        <?php } ?>
    или
    stock_status
     
  10. TheMechanical

    TheMechanical Новичок

    Сообщения:
    10
    Симпатии:
    1
    Что то я вообще запутался))

    Код:
    <?php echo $stock; ?>
    не выводит данные, выдает ошибку

    Код:
    <li>На складе: <?php if ($product['stock']) { ?><b><?php echo $product['stock']; ?></b></li><?php } ?>
    выводит следующее: "На складе: Нет в наличии", хотя открыв карточку товара - Наличие: "Есть в наличии"!

    Что я делаю не так???
     
  11. TheMechanical

    TheMechanical Новичок

    Сообщения:
    10
    Симпатии:
    1
    Всё - решил!
    Проблема в том, что при добавлении
    'stock' => $result['stock_status'], - вы добавляете значение при отсутствии на складе!

    В итоге, для того чтобы вывести на страницу категорий наличие товара, нужно сделать по другому:

    /catalog/controller/product/category.php

    Сразу после:
    Код:
    'special'     => $special,
    Добавляем код:
    Код:
    'stock'       => $result['quantity'],
    'stock_status'=> $result['stock_status'],
    'instock'     => $this->language->get('text_instock'),
    


    /catalog/view/theme/default/template/product/category.tpl

    Сразу после
    Код:
    <p><?php echo $product['description']; ?></p>
    Вставляем
    Код:
    <?php if ($product['stock'] <= 0) { ?> <?php echo $product['stock_status']; } ?>
    <?php if ($product['stock'] > 0) { ?> <?php echo $product['instock']; } ?>
    
    ЗЫ возможно не совсем правильно, но я не умею использовать else ))) всё работает)))
     
    Scani нравится это.
  12. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    257
    Симпатии:
    19
    Возможно, я вводил SKU, UPC статус о наличии не вводил по этому примерно написал Вам код.
     
  13. Allaur

    Allaur Пользователь

    Сообщения:
    58
    Симпатии:
    2
    У меня не почилось

    Код:
    Notice: Undefined index: stock in /var/www/u0152290/data/www/teplo-market.info/catalog/view/theme/coloring/template/product/category.tpl on line 187 Notice: Undefined index: stock_status in /var/www/u0152290/data/www/teplo-market.info/catalog/view/theme/coloring/template/product/category.tpl on line 187Notice: Undefined index: stock in /var/www/u0152290/data/www/teplo-market.info/catalog/view/theme/coloring/template/product/category.tpl on line 188
     
  14. Ален

    Ален Эксперт

    Сообщения:
    2.052
    Симпатии:
    631
    надеюсь что вы знаете что надо править именно файлы темы и прочитали документацию и очистили кеш окмода!!
     
  15. Allaur

    Allaur Пользователь

    Сообщения:
    58
    Симпатии:
    2
    Да, конечно.
    Инструкция в полне грамотно расписана.
    вместо темы default я вставлял в свою тему, если вы про это....
     
    Последнее редактирование: 16 фев 2016
  16. Vlad

    Vlad Эксперт

    Сообщения:
    3.917
    Симпатии:
    942
    ошибка горит о том, что вы не внеси данные в файл /catalog/controller/product/category.php
    А если внесли, то или не обновили модификатор или исправляет ваши изменения другой модификатор. Все решения проверяются на стандартной теме при стандартных условиях. У вас все по другому, поэтому постарайтесь сами найти в чем проблема. Начните с одноименного файла который лежит в кеше модификатора.
     
    Allaur нравится это.
  17. Allaur

    Allaur Пользователь

    Сообщения:
    58
    Симпатии:
    2
    Действительно, в кеше модификатора были проблемы. Благодарю.
     
  18. Grand

    Grand Новичок

    Сообщения:
    18
    Симпатии:
    1
    В третей версии опенкарта какой код нужен в /catalog/view/theme/default/template/product/category.twig ?
     
  19. Vlad

    Vlad Эксперт

    Сообщения:
    3.917
    Симпатии:
    942
    Скорей всего вот такой
    Код:
                {% if product.stock <= 0 %}
                {{ product.stock_status }}
                {% endif %}
                
                {% if product.stock > 0 %}
                {{ product.instock }}
                {% endif %}
     
    Grand нравится это.