我需要在产品页面中显示产品尺寸。 这是我的代码但是没有执行。 我在目录/ controller / product / product.php中添加了
toString
并在同一个文件中
<?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';
并在catalog / view / theme / default / template / product / product.tpl
中$this->data['text_dimensions'] = $this->language->get('text_dimensions');
$this->data['text_by'] = $this->language->get('text_by');
和我的目录/ language / english / product / product.php
<?php echo $length; ?><?php echo $text_by; ?><?php echo width; ?><?php echo $text_by; ?><?php echo $height; ?><?php echo $text_by; ?>
尝试后,此代码维度未在opencart中显示。
答案 0 :(得分:0)
以下是您正在使用的版本的controller file(OC 2.1.0.2)
$ this-&gt;数据不再用于将变量传递给Opencart 2.x中的视图。相反,渲染方法接受第二个参数,该参数是要传递到视图中的变量数组
$this->load->view('default/template/error/not_found.tpl', $data)
通常使用$data
变量。
在将变量传递给渲染方法之前,需要将变量插入到数组中。
另一个问题我发现你是硬编码尺寸(cm),也可以从系统中检索。
还有一件事:不要忘记通过控制器传递您创建的语言变量以及其他变量。
答案 1 :(得分: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中适用于我