Мне нужно отобразить размеры продукта на странице продукта.
Вот мой код, но он не выполняется.
я добавил в каталог / контроллер / 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.
Здесь файл контроллера для версии, над которой вы работаете (OC 2.1.0.2)
Данные $ this-> больше не используются для передачи переменных в представление в Opencart 2.x. Вместо этого метод рендеринга принимает второй параметр, который представляет собой массив переменных для передачи в представление
$this->load->view('default/template/error/not_found.tpl', $data)
Обычно $data
переменная используется.
Вам нужно вставить переменные в массив, прежде чем он будет передан в метод рендеринга.
Еще одна проблема, которую я заметил, — это жесткие размеры (см), которые, вероятно, также могут быть получены из системы.
Еще одна вещь: не забудьте передать языковые переменные, которые вы создали, а также другие переменные через контроллер.
Код контроллера:
$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