Jump to content

pas d'image de produit sur facture 1.7.7.0


kate66

Recommended Posts

Bonjour,

sur nos factures les images produits ne s'affichent pas et pourtant cela est coche dans bo > commandes > factures ?

Prestashop 1.7.7.0

Auriez vous une solution ?

La page de template est bien celle de base et n'a pas été touché au niveau du code.

Après test on a remarqué que on ne rentre pas dans cette boucle dans invoice-product-tab.tpl :

 if {if isset ($ order_detail.image) && $ order_detail.image-> id}
{$ order_detail.image_tag}
{/ if} 

Merci pour votre aide.

Link to comment
Share on other sites

  • 2 months later...
  • 5 weeks later...
  • 5 months later...
  • 3 months later...

Bonjour,

Pour résoudre ce problème, créer un override de la fonction getContent() présente dans le fichier class/pdf/HTMLTemplateInvoice.php et modifier les lignes suivantes :

                    $order_detail['image_tag'] = preg_replace(
                        '/\.*' . preg_quote(__PS_BASE_URI__, '/') . '/',
                        _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR,
                        ImageManager::thumbnail($path, $name, 45, 'jpg', false),
                        1
                    );

par :

                    $order_detail['image_tag'] = ImageManager::thumbnail($path, $name, 45, 'jpg', false);

🙏

  • Thanks 1
Link to comment
Share on other sites

Merci votre aide et désolé pour le retard de réaction

Avant de commencer à faire les overides, j'ai remplacé directement dans la fonction getcontent par votre proposition. mais sa n'a pas marché. j'ai vide le cache mais rien.

voici un extraire du code et je vous prie de vérifier si j'ai bien remplacé:

 

  if (Configuration::get('PS_PDF_IMG_INVOICE')) {
            foreach ($order_details as &$order_detail) {
                if ($order_detail['image'] != null) {
                    $name = 'product_mini_' . (int) $order_detail['product_id'] . (isset($order_detail['product_attribute_id']) ? '_' . (int) $order_detail['product_attribute_id'] : '') . '.jpg';
                    $path = 'https://lightcameroun.com/img/p/' . $order_detail['image']->getExistingImgPath() . '.jpg';

                  /*  $order_detail['image_tag'] = preg_replace(
                        '/\.*' . preg_quote(__PS_BASE_URI__, '/') . '/',
                        _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR,
                        ImageManager::thumbnail($path, $name, 45, 'jpg', false),
                        1
                    );
                    */
                    $order_detail['image_tag'] = ImageManager::thumbnail($path, $name, 45, 'jpg', false);
                
                   /*  echo(_PS_PROD_IMG_DIR_);
                    die($path); */
                    if (file_exists(_PS_TMP_IMG_DIR_ . $name)) {
                        $order_detail['image_size'] = getimagesize(_PS_TMP_IMG_DIR_ . $name);
                    } else {
                        $order_detail['image_size'] = false;
                    }
                }
            }
            unset($order_detail); // don't overwrite the last order_detail later
        }

Link to comment
Share on other sites

  • 10 months later...
On 3/4/2022 at 6:38 PM, remyyyyy said:

Bonjour,

Pour résoudre ce problème, créer un override de la fonction getContent() présente dans le fichier class/pdf/HTMLTemplateInvoice.php et modifier les lignes suivantes :

                    $order_detail['image_tag'] = preg_replace(
                        '/\.*' . preg_quote(__PS_BASE_URI__, '/') . '/',
                        _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR,
                        ImageManager::thumbnail($path, $name, 45, 'jpg', false),
                        1
                    );

par :

                    $order_detail['image_tag'] = ImageManager::thumbnail($path, $name, 45, 'jpg', false);

🙏

Solution qui fonctonne tres bien pour moi, et même sur PrestaShop 8.0.1 ! 

Merci! 

Un petit "RESOLU" dans le titre pourrait etre bien!

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...