Среда, 02 Август 2017 09:34

Как вывести длину, ширину и высоту в карточке товара?

По неведомой мне причине, в Opencart 2.3 по умолчанию не выводятся длина, ширина и высота в карточке товара, даже если Вы их укажете в настройках. Если Вы не согласны с разработчиками Opencart и считаете, что параметры всё же должны выводиться, то придётся сделать несколько шагов, чтобы это исправить.

Шаг первый, открыть языковый файл catalog\language\russian\product\product.php после чего ищем следующую строку:

$_['text_model'] = 'Модель:';

И добавляем:

$_['text_weight'] = 'Вес:';
$_['text_size'] = 'Размеры (Д x Ш x В):';

На этом работу с языковым файлом заканчиваем и приступаем ко второму шагу, а именно работе с файлом контроллера catalog\controller\product\product.php и ищем в нём строку:

$data['points'] = $product_info['points'];

После этого добавляете следующие строки:

$data['weight'] = $this->weight->format($product_info['weight'], $product_info['weight_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point'));
$data['length'] = $this->length->format($product_info['length'], $product_info['length_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point'));
$data['width'] = $this->length->format($product_info['width'], $product_info['length_class_id'], $this->language->get('decimal_point'),$this->language->get('thousand_point'));
$data['height'] = $this->length->format($product_info['height'], $product_info['length_class_id'], $this->language->get('decimal_point'), $this->language->get('thousand_point'));

И далее ищем строку:

$data['text_price'] = $this->language->get('text_price');

После чего добавляем:

$data['text_weight'] = $this->language->get('text_weight');
$data['text_size'] = $this->language->get('text_size');

Третий и он же заключительный шаг – добавить код в страницу шаблона карточки товара, открываем catalog\view\theme\default\template\product\product.tpl ищем:

<li><?php echo $text_stock; ?> <?php echo $stock; ?></li>

И ниже этой строки добавляем следующее:

<?php if ($weight) { ?>
<li><?php echo $text_weight; ?> <?php echo $weight; ?></li>
<?php } ?>
<?php if ($length && $width && $height) { ?>
<li><?php echo $text_size; ?> <?php echo $length; ?> x <?php echo $width; ?> x <?php echo $height; ?></li>
<?php } ?>

На этом всё.

Спонсоры: