Opencart产品图片订购确认电子邮件

时间:2016-03-17 11:36:47

标签: opencart opencart2.x

我试图让订购产品的图片显示在结帐后发送的客户订单确认邮件中。该电子邮件的内容位于order.tpl文件中,其中包含产品名称的$ product [' name'],产品型号的$ product [' model']等内容。我不知道变量/数组包含产品图像或如何实现它。

3 个答案:

答案 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网站上找到免费扩展程序。