我试图让订购产品的图片显示在结帐后发送的客户订单确认邮件中。该电子邮件的内容位于order.tpl文件中,其中包含产品名称的$ product [' name'],产品型号的$ product [' model']等内容。我不知道变量/数组包含产品图像或如何实现它。
答案 0 :(得分:2)
是。您必须修改model/checkout/order/addOrderHistory()
功能。请注意,任何订单的产品都是从order_product
表中提取的。它不包含任何图像字段。为此,您必须创建一个功能,从product
表中提取产品图像,然后处理该图像以进一步执行。
例如,在catalog/model/order
文件中创建任何函数。像...
public function getProductImage($product_id){
$query = $this->db->query("SELECT `image` FROM `".DB_PREFIX."product` WHERE product_id = '".(int)$product_id."'");
if ($query->row) {
return $query->row['image'];
} else {
return false;
}
}
在foreach ($order_product_query->rows as $product) {
循环中调用此方法
$product_image = $this->getProductImage($product['product_id'])
。
然后在同一个循环中通过检查
调整图像大小$this->load->model('tool/image');
if ($product_image) {
$product_image = $this->model_tool_resize($product_image, width, height);
}
在您的产品阵列中添加此内容,
$data['products'][] = array(
'image' => $product_image,
.....
);
并在.tpl
文件中检查
if ($product['image']){
your design to display image
}
就是这样。
答案 1 :(得分:1)
电子邮件是从model/checkout/order.php/addOrderHistory()
发送的。您必须在产品循环中添加图像。然后在.tpl
文件中,您必须插入新列并在其中显示产品图像。
答案 2 :(得分:0)
您要查找的变量是图像 使用它如下。
<?php echo $product['image']; ?>
您可以在opencart网站上找到免费扩展程序。