Como adicionar imagem no email do módulo Send 2 a Friend – Prestashop

Recentemente eu tive um desafio de incluir uma foto no módulo de envio de um produto a um amigo do Prestashop. Felizmente eu consegui de forma rápida e concisa resolver em poucas linhas.

Abrindo o arquivo send2afriend_ajax.php do módulo, basta substituir essa parte do código (linha 37).

// Language id
    $id_lang = (int) Configuration::get('PS_LANG_DEFAULT');

    // Get cover image for your product
    $image = Image::getCover($id_product);

    // Load Product Object
    $product = new Product($id_product);

    // Initialize the link object
    $link = new Link;

    $imagePath = $link->getImageLink($product->link_rewrite[Context::getContext()->language->id], 
$image['id_image'], 'home_default');

    /* Email generation */
    $product     = new Product((int)$id_product, false, Tools::getValue('id_lang'));
    $productLink = Context::getContext()->link->getProductLink($product);
    $customer    = Context::getContext()->cookie->customer_firstname ? 
Context::getContext()->cookie->customer_firstname . ' ' . 
Context::getContext()->cookie->customer_lastname : $module->l('A friend', 'send2friend_ajax'). ' '.$author;

    $templateVars = array(
        '{product}'      => $product->name,
        '{product_img}'  => $imagePath,
        '{product_link}' => $productLink,
        '{customer}'     => $customer,
        '{name}'         => Tools::safeOutput($friendName)
    );

E agora no corpo do email, na parte de traduções, você editar o template do email e pode adicionar a figura do produto que será enviado, com a tag simples {product_img}.

<img src="https://{product_img}" alt="{product}" />

Qualquer dúvida só deixar um comentário. Responderei com prazer.