Opencart 2.x - Вывод Высоты, Ширины И Веса В Карточку Товара

Тема в разделе "Шаблоны, дизайн и оформление магазина", создана пользователем Moon, 3 апр 2018.

  1. TopicStarter Overlay
    Offline

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

    Сообщения:
    40
    Симпатии:
    13
    Репутация:
    8
    Нашел тему с добавлением данной информации на с OpenCart но не 2.x и решил дополнить.

    1) Правим контроллер (catalog/controller/product/product.php)

    Находим строку:
    Код:
    $data['text_model'] = $this->language->get('text_model');
    После дописываем:
    Код:
    $data['weight'] = number_format($product_info['weight'], 2).''.$this->weight->getUnit($product_info['weight_class_id']);
                $data['length'] = number_format($product_info['length'], 2).''.$this->length->getUnit($product_info['length_class_id']);
                $data['width'] = substr($product_info['width'], 0, 2).''.$this->length->getUnit($product_info['length_class_id']);
                $data['height'] = substr($product_info['height'], 0, 2).''.$this->length->getUnit($product_info['length_class_id']);
    2) Правим перевод (catalog/language/ru*/product/product.php)

    Добавляем строку:
    Код:
    $_['text_size']                                  = 'Размер:';
    $_['text_weight']                              = 'Вес:';
    3) Правим шаблон вывода (catalog/view/theme/*/template/product/product.tpl)

    Где вы хотите вывести данные о размерах и весе, вставляете следующий код:
    Код:
    <?php if ($weight>0) { ?>
                    <li> <?php echo '<h3>'.$text_weight.' '.$weight.'</h3>'; ?></li>
                    <?php } ?>
                <li>
                  <h3><? echo $text_size;?>  
                        <?php if ($length>0 or $width>0 or $height>0) {
                                if ($length>0) {
                                    echo $length;
                                    if (($width>0) or ($height>0)) echo "&nbsp;х&nbsp;";
                                }
                                if ($width>0) {
                                    echo $width;
                                    if ($height>0) echo "&nbsp;х&nbsp;";
                                }
                                if ($height>0) {
                                    echo $height;
                                } ?>          
                        <?php } ?>
                    </h3>
                </li>
    Результат:
    Вес: {значение}{размерность}
    Размер: {значение}{размерность}x{значение}{размерность}
     
    Последнее редактирование: 3 апр 2018
    xtral4ik и admin нравится это.
  2. Offline

    13bnj Пользователь

    Сообщения:
    34
    Симпатии:
    1
    Репутация:
    0
    Сделано и протестировано на OpencartPro 2.3.0.2.4, все работает! : Вывод веса и размеров товара в карточке товара

    1. в /catalog/controller/product/product.php
    Находим $data['text_select'] = $this->language->get('text_select'); и выше нее вставляем:
    $data['length'] = $product_info['length'];
    $data['width'] = $product_info['width'];
    $data['height'] = $product_info['height'];
    $data['weight'] = $product_info['weight'];

    2. открываем файл product.tpl в папке /catalog/view/theme/ваша тема/template/product . и в нужное место вставляем :

    Вес:
    <?php if($weight > 0) { echo "<span>Вес товара:</span> ".round($weight, 2)." кг."; } ?>
    габариты:
    <?php if($length > 0 || $width > 0 || $height > 0) { echo "<span>Размеры (ДxШxВ):</span> ".round($length, 2)."x".round($width, 2)."x".round($height, 2)." см."; } ?>

    p.s. Я нашел ul class <ul class="list-unstyled"> и там в конце в <li> .... </li> вставил.
    Думаю, что так можно вывести любой атрибут в карточку.