我正在使用opencart(1.5.6.4)并且想知道如何在每个产品下显示其他产品数据,特别是我想显示产品isbn和mpn。
我不确定如何制作产品isbn& mpn可以在我的category.tpl的产品循环中访问
例如,我希望能够使用以下行中的内容来显示数据:
echo $product['mpn'];
echo $product['isbn'];
答案 0 :(得分:1)
我确信这已被多次询问或在互联网上的某个地方解决过,虽然谷歌现在还无法向我提供正确的结果......
这里只是简短的操作方法:
编辑catalog/model/catalog/product.php
模型并搜索方法getProducts()
- 在SQL中提供您要选择的属性。查找
$sql = "SELECT p.product_id, ... AS special";
并将其更改为
$sql = "SELECT p.product_id, ... AS special, p.isbn, p.mpn";
假设这两个属性保存在product
表中。
编辑catalog/controller/product/category.php
控制器并搜索填充和处理产品数据的循环,直到最终将其分配给最终产品阵列,如下所示:
$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
// ...
);
在这里,您需要添加新属性:
$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
// ...,
'isbn' => $result['isbn'],
'mpn' => $result['mpn'],
);
然后在您的模板(category.tpl
)中,您可以使用问题中的代码轻松地在foreach
循环中显示它们(确保您根据正确的HTML进行调整)。