Показать размеры на странице продукта для opencart

Мне нужно отобразить размеры продукта на странице продукта.
Вот мой код, но он не выполняется.
я добавил в каталог / контроллер / product / product.php

<?php
$this->data['length'] = number_format($product_info['length'],2) .  ' cm';
$this->data['width'] = number_format($product_info['width'],2) .  ' cm';
$this->data['height'] = number_format($product_info['height'],2) .  ' cm';

и в том же файле

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

и в каталоге / view / theme / default / template / product / product.tpl

<?php echo $length; ?><?php echo $text_by; ?><?php echo width; ?><?php echo $text_by; ?><?php echo $height; ?><?php echo $text_by; ?>

и в моем каталоге / язык / английский / product / product.php

$_['text_dimensions'] = 'Dimensions:';
$_['text_by'] = 'x';

После попытки это измерение кода не отображается в opencart.

0

Решение

Здесь файл контроллера для версии, над которой вы работаете (OC 2.1.0.2)

Данные $ this-> больше не используются для передачи переменных в представление в Opencart 2.x. Вместо этого метод рендеринга принимает второй параметр, который представляет собой массив переменных для передачи в представление

$this->load->view('default/template/error/not_found.tpl', $data)

Обычно $data переменная используется.

Вам нужно вставить переменные в массив, прежде чем он будет передан в метод рендеринга.

Еще одна проблема, которую я заметил, — это жесткие размеры (см), которые, вероятно, также могут быть получены из системы.

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

0

Другие решения

Код контроллера:

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

Просмотреть код файла (product.tpl):

<li><?php echo $weight; ?></li>
<li><?php echo $length; ?></li>
<li><?php echo $width; ?></li>
<li><?php echo $height; ?></li>

У меня это работало в OpenCart версии 2.1.x

0

По вопросам рекламы [email protected]