Jump to content

Le logo sur les factures a disparu.


Recommended Posts

Version de PS : 1.7.6.7
Thème (défaut/perso) : Classic (modifié)
Hébergement : OVH
Version de PHP : 7.2

Bonjour, depuis que j'ai fait la maj de 1.7.5 vers 1.7.6 le logo à disparu de mes factures.

Lors de la maj j'avais choisi "NON" pour cette option:

Keep the customized email templates
OUI/NON
This will not upgrade the default PrestaShop e-mails.
If you customized the default PrestaShop e-mail templates, enabling this option will keep your modifications.

(d'ailleurs si quelqu'un peut me dire pourquoi mon interface moitié en anglais moitié en français ça m'intéresse, je viens d'installer v1.7.6.7 en local sous wamp et le menu du BO est en français alors que sur ma boutique en prod le menu est en anglais.. *_* )

Est ce que ça impact aussi les factures ? Hypothèse: Le modèle de facture n'aurait pas été mis a jour et l'appel de l'image du logo n'est plus fonctionnel ?

Je suis allé voir le fichier "header.tpl" dans le dossier www/pdf et le chemin d'appel du logo est :

<td style="width: 50%">
		{if $logo_path}
			<img src="{$logo_path}" style="width:{$width_logo}px; height:{$height_logo}px;" />
		{/if}
</td>

Est ce que c'est obsolète pour la v1.7.6.7  ? Pourquoi le logo n'est pas appelé sur la facture ?

 

Ne sachant pas quoi faire j'ai rajouté manuellement une ligne de code dans invoice.tpl du dossier www/pdf pour tester :

<div><img src="https://boutique.com/dossier/logo.png" style="width:{$width_logo}px; height:{$height_logo}px;" /></div>

Mais ça ne fait rien.

 

Quelqu'un a t il le même problème (plus de logo sur la facture) ?

Link to comment
Share on other sites

  • 2 months later...

J'ai de nouveau fait une maj vers 1.7.6.9 et cette fois ci j'ai mis "OUI" pour l'option "Keep the customized email templates" afin que ça mette a jour les templates.

Mais ça ne change rien le pdf des facture est toujour généré sans logo.

J'ai ressayé une nouvelle astuce manuelle en modifiant le fichier header.tpl situé dans www/themes/classic/pdf. J'ai mis entre parenthèse le code présent et j'ai mis en dessous 

<img src="{$img_ps_dir}logo_mail.jpg" />

l'image logo_mail.jpg est bien à la racine du dossier img (tuto webbax ép.19)

Et là en voulant téléchargeant une nouvelle facture ça ne fonctionne pas, le téléchargement se bloque sur une page blanche d'erreur avec  "TCPDF ERROR: [Image] Unable to get the size of the image: https://maboutique.com/img/logo_mail.jpg.png

J'ai donc rajouté width="50" height="40" et là le téléchargement de la facture ne se bloque plus, mais toujours pas de logo dans l'entete des pdf des factures..

Svp quelqu'un pourrait m'aider sur cette difficulté que je rencontre ? (si vous êtes un professionnel contactez moi en mp avec votre tarifs, merci. Ou si vous avez la solution proposé moi un service contre paiement via paypal ou PayPlug)

Je vous serrais très reconnaissant.

Link to comment
Share on other sites

Merci, mais malheureusement ça ne fonctionne pas sur mon prestashop.

J'ai bien mis ce code après la ligne 138

		if ('' !== _MEDIA_SERVER_1_ || _MEDIA_SERVER_2_ || _MEDIA_SERVER_3_) {
            $logo_path = Tools::getShopProtocol() . Tools::getMediaServer(_PS_IMG_) . _PS_IMG_ . $logo;
        } else {
            $logo_path = _PS_IMG_ . $logo;
        }

Et j'ai bien changé la ligne 146 par

		'logo_path' => $logo_path,

Mais ça n'a pas fait apparaitre le logo sur les factures (après un vidage de cache)

Puis après j'ai re-remplacer la ligne 146 par

		'logo_path' => _PS_IMG_ . $logo,

Mais toujours rien.. (après un vidage de cache)

Mais ça me dérange pas d'inserer le logo dans l'entete de mes facture avec un appel d'un image à sa source, le gros problème est que cette simple ligne de code ne fonctionne pas:

<img src="dinosaur.jpg" style="width:160px; height:80px;">
<img src="dinosaur.jpg" style="width:160px; height:80px;"/>

J'ai mis l'image "dinosaur.jpg" dans le même dossier que le fichier pdf/header.tpl dans lequel ce code est inscrit.

Comment est ce possible que ce code "img src" qui est universel ne fonctionne pas sous prestashop ?!?!? C'est totalement improbable!

 

EDIT: 

J'ai réessayer avec ça:

<img src="{$urls.img_url}Logo-Mail.png" />

Ca marche pas

J'ai essayé ça ensuite:

<img src="{$img_ps_dir}Logo-Mail.png" style="width:160px; height:80px;" />

Et ça ne marche toujours pas.. 

 

Edited by azer (see edit history)
Link to comment
Share on other sites

  • 10 months later...
On 12/29/2020 at 10:51 PM, azer said:

Y aurait il quelqu'un, avec un bac + 6 ou plus vu le niveau de difficulté, qui sache lancer l'appel d'une ressource de type image pour faire apparaitre ladite image dans les pdf sous prestashop ?????

J'ai trouvé ça et ça marche super bien!

"J'ai eu le même problème aujourd'hui, avec Prestashop 1.7.6.8. Je ne sais pas pour quelle raison, mais l'affichage de l'image ne fonctionne que quand on donne un chemin relatif dans le template.

Voici une solution possible en attendant une correction de Prestashop :

1) Ouvrez le fichier /pdf/header.tpl via FTP et copiez son contenu

2) Créez un nouveau fichier /themes/VOTRE_THEME/pdf/header.tpl et collez-y le contenu du fichier précédent. Cela créé une surcharge du template par défaut pour l'entête du pdf via votre thème, et permet de ne pas perdre les modifications lors des mises-à-jour de Prestashop.

3) Remplacez la ligne suivante... 

<img src="{$logo_path" style="width:{$width_logo}px; height:{$height_logo}px;" />

Par ce qui suit :

<img src="{$logo_path|parse_url:$smarty.const.PHP_URL_PATH}" style="width:{$width_logo}px; height:{$height_logo}px;" />

Cette modification permet de découper l'URL pour n'en conserver que la partie relative."

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 4 months later...

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...