【发布时间】:2020-08-08 09:16:29
【问题描述】:
美好的一天。请帮我显示商品的计量单位。 OctStore 2.3 引擎。 默认情况下,测量单位不显示在产品旁边,它们帮助我以这种方式在产品页面上显示它们:
在
目录/模型/目录/product.php
找线:
public function getProduct($product_id) {
在上述行之前添加以下代码:
public function getProductWeightWithUnit($product_id) {
$product_info = $this->getProduct($product_id);
$query = $this->db->query("SELECT unit FROM `" . DB_PREFIX . "weight_class_description` WHERE
weight_class_id='".$product_info['weight_class_id']."'");
if ($query->num_rows) {
return number_format($product_info['weight'],2) . " " . $query->row['unit'];
} else {
return false;
}
}
保存更改并关闭文件。
现在,打开文件
目录/控制器/product/product.php
找线:
if ($product_info['minimum']) {
在上述行之前添加以下代码:
if ($product_info['weight']) {
$data['weight'] = $this->model_catalog_product->getProductWeightWithUnit($this->request->get['product_id']);
} else {
$data['weight'] = false;
}
现在,后端代码已准备就绪。根据您使用的主题,您需要从您的主题中编辑正确的 product.tpl 文件。例如,如果您使用默认主题,则要编辑的文件如下:
catalog/view/theme/default/template/product/product.tpl
找线:
<li><?php echo $text_stock; ?> <?php echo $stock; ?></li>
并在后面添加以下代码:
<li><?php echo $weight; ?></li>
很好!一切都在产品页面上运行。但您需要它在模块中同样工作(例如特色产品)。
我对模块执行所有相同的步骤
后端:
目录/控制器/扩展/模块/featured.php
和前端:
catalog/view/theme/default/template/extension/module/featured.tpl
但我得到了错误:
Notice: Undefined index: product_id in C:\OSPanel\domains\mywebsite.com\catalog\controller\extension\module\featured.php on line 43
它是这么说的:
if ($product_info['weight']) {
LINE 43 $data['weight'] = $this->model_catalog_product->getProductWeightWithUnit($this->request->get['product_id']);
} else {
$data['weight'] = false;
}
为什么没有看到product_id??
【问题讨论】:
标签: php html opencart opencart2.x