[Решено] Вывести количество в карточке товара

Тема в разделе "OpenCart", создана пользователем skiv14, 27 дек 2015.

Статус темы:
Закрыта.
  1. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    437
    Симпатии:
    180
    Не могу разобраться, натолкните хотя бы на мысль.

    ОcStore 1.5.5.2 Пользуюсь шаблоном Online-ts.
    По умолчанию в шаблоне отключён показ количества товара в карточке. Мне нужно его вывести.

    Я так понял, что за количество товара отвечает переменная $quantity
    В product.tpl шаблона после строчки
    Код:
    <span><?php echo $text_model; ?></span> <?php echo $model; ?><br />
    добавляю
    Код:
    <span><?php echo $text_qty; ?></span> <?php echo $quantity; ?><br />
    Получаю ошибку.

    Пробовал другие переменные, например, цену - выводит.

    На $text_qty не обращайте внимание, так задана переменная текста "Количество:". Пробовал по аналогии делать
    Код:
    <span><?php echo $text_qty; ?></span> <?php echo $qty; ?><br />
    , ошибка.

    Ошибка Notice: Undefined variable: qty in /home/....

    Моя задача - вывести количество товара в карточку.
    Подскажите, где можно найти переменную, которая в данном случае отвечает за количество ?
     
    Последнее редактирование: 27 дек 2015
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Нигде.
    Ведь не первый месяц уже ОпенКарт ковыряешь, пора бы уже освоится с его архитектурой. Чтоб вывести какую-то переменную в шаблоне, её нужно объявить в соответствующем контроллере. В случае с количеством, по умолчанию это значение в шаблон не выводится и в контроллере не объявляется. Соответственно, нужно добавить количество в массив с данными товара, а затем уже выводить в шаблоне.
    Посмотри, как в контроллере передаётся название товара и сразу поймёшь, как вывести количество.
     
    skiv14 нравится это.
  3. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    437
    Симпатии:
    180
    Разобрался с горем пополам.

    В контроллере после
    Код:
    $this->data['model'] = $product_info['model'];
    добавил
    $this->data['quantity'] = $product_info['quantity'];
    
    В шаблоне, в продукт тпл добавил

    Код:
    <div class="price"><?php echo $text_qty; ?>
            <span class="price-style"><?php echo $quantity; ?></span></div>
    Ох и долго я с этим мурыжился. В контроллере угадал, можно сказать.

    Dotrox, спасибо за направление. Сам я догадывался, что в контроллере надо смотреть, но не было уверенности.

    ps Стили использовал те, что для цен. Они покрупнее просто, их и взял.
     
Статус темы:
Закрыта.