Paulinoc88 Posted September 7, 2020 Share Posted September 7, 2020 (edited) I'm trying to show product images in the order confirmation email. I edited the PaymentModule.php and added the image variable, and added a table cell for the image in order_conf_product_list.tpl. On testing it doesn't show up. Tried replacing the reference variable value with the image and it works. Is there a reason I can't add the new image variable to the order_conf_product_list.tpl? My code is posted below. NB: I cleared the cache under PErformance in the backend, deleted class_index.php from the cache folder and checked the cache->smarty->cache folder, which was empty PaymentModule.php $product_var_tpl_list = array(); foreach ($order->product_list as $product) { $price = Product::getPriceStatic((int)$product['id_product'], false, ($product['id_product_attribute'] ? (int)$product['id_product_attribute'] : null), 6, null, false, true, $product['cart_quantity'], false, (int)$order->id_customer, (int)$order->id_cart, (int)$order->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $price_wt = Product::getPriceStatic((int)$product['id_product'], true, ($product['id_product_attribute'] ? (int)$product['id_product_attribute'] : null), 2, null, false, true, $product['cart_quantity'], false, (int)$order->id_customer, (int)$order->id_cart, (int)$order->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $product_price = Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt; //PJC show product images in email $id_image = Product::getCover((int)$product['id_product']); if (sizeof($id_image) > 0) { $image = new Image($id_image['id_image']); $image_url = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg"; $image = '<img src="'.$image_url.'" width="100" height="100"/>'; } $product_var_tpl = array( //PJC show product image in email 'image' => $image, 'reference' => $product['reference'], 'name' => $product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : ''), 'unit_price' => Tools::displayPrice($product_price, $this->context->currency, false), 'price' => Tools::displayPrice($product_price * $product['quantity'], $this->context->currency, false), 'quantity' => $product['quantity'], 'customization' => array() ); //PJC custom individual product variables $prod_ref = $product['reference']; $prod_name = $product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : ''); $prod_unit_price = Tools::displayPrice($product_price, $this->context->currency, false); $prod_price = Tools::displayPrice($product_price * $product['quantity'], $this->context->currency, false); $prod_quantity = $product['quantity']; //!End PJC custom individual product variables $customized_datas = Product::getAllCustomizedDatas((int)$order->id_cart); if (isset($customized_datas[$product['id_product']][$product['id_product_attribute']])) { $product_var_tpl['customization'] = array(); foreach ($customized_datas[$product['id_product']][$product['id_product_attribute']][$order->id_address_delivery] as $customization) { $customization_text = ''; if (isset($customization['datas'][Product::CUSTOMIZE_TEXTFIELD])) { foreach ($customization['datas'][Product::CUSTOMIZE_TEXTFIELD] as $text) { $customization_text .= $text['name'].': '.$text['value'].'<br />'; } } if (isset($customization['datas'][Product::CUSTOMIZE_FILE])) { $customization_text .= sprintf(Tools::displayError('%d image(s)'), count($customization['datas'][Product::CUSTOMIZE_FILE])).'<br />'; } $customization_quantity = (int)$product['customization_quantity']; $product_var_tpl['customization'][] = array( 'customization_text' => $customization_text, 'customization_quantity' => $customization_quantity, 'quantity' => Tools::displayPrice($customization_quantity * $product_price, $this->context->currency, false) ); } } $product_var_tpl_list[] = $product_var_tpl; // Check if is not a virutal product for the displaying of shipping if (!$product['is_virtual']) { $virtual_product &= false; } } // end foreach ($products) order_conf_product_list.tpl {foreach $list as $product} <tr> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$product['image']} </font> </td> <td width="10"> </td> </tr> </table> </td> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$product['reference']} </font> </td> <td width="10"> </td> </tr> </table> </td> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td> <font size="2" face="Open-sans, sans-serif" color="#555454"> <strong>{$product['name']}</strong> </font> </td> <td width="10"> </td> </tr> </table> </td> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td align="right"> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$product['unit_price']} </font> </td> <td width="10"> </td> </tr> </table> </td> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td align="right"> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$product['quantity']} </font> </td> <td width="10"> </td> </tr> </table> </td> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td align="right"> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$product['price']} </font> </td> <td width="10"> </td> </tr> </table> </td> </tr> {foreach $product['customization'] as $customization} <tr> <td colspan="2" style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td> <font size="2" face="Open-sans, sans-serif" color="#555454"> <strong>{$product['name']}</strong><br> {$customization['customization_text']} </font> </td> <td width="10"> </td> </tr> </table> </td> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td align="right"> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$product['unit_price']} </font> </td> <td width="10"> </td> </tr> </table> </td> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td align="right"> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$customization['customization_quantity']} </font> </td> <td width="10"> </td> </tr> </table> </td> <td style="border:1px solid #D6D4D4;"> <table class="table"> <tr> <td width="10"> </td> <td align="right"> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$customization['quantity']} </font> </td> <td width="10"> </td> </tr> </table> </td> </tr> {/foreach} {/foreach} Edited September 7, 2020 by Paulinoc88 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now