2016-06-29 5 views
0

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

<?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'); 

и в каталоге/вид/темы/по умолчанию/шаблон/продукта/product.tpl

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

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

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

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

+0

Какую версию вы работаете на OpenCart ? –

+0

Вы передавали переменные языка через контроллер? Если да, то они появляются на странице в месте? –

+0

opencart 2.1.0.2 версия – narendra

ответ

0

Вот controller file для версии вы работаете (OC 2.1.0.2)

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

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

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

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

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

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

+0

Я попробовал в каталоге/контроллер/продукт/продукт.php file $ data ['length'] = $ product_info ['length']; $ data ['width'] = $ product_info ['width']; $ data ['height'] = $ product_info ['height']; на странице просмотра я пишу он показывает неопределенную переменную длину – narendra

+0

вы можете указать приблизительную строку, где вы вставили свой код здесь https://github.com/opencart/opencart/blob/2.1.0.2/upload/catalog/controller/product/product.php? –

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

Смежные вопросы