THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

J'aimerais pouvoir ajouter l"étiquette transporteur avec mon bon de commande/livraison (le PDF que l'on génère dans le BO).
Comment faire ? Vu que le template est du HTML il faut que j'injecte une variable par le controller ? Quels fichiers entrent en jeux ?
Sachant qu'il faut que j'interroge le transporteur pour récupère l'étiquette.


Merci

Last edited by timmy (17-12-2018 11:51:10)

Offline


Tu peux sans doute écrire un petit module qui ira chercher l'étiquette chez le transporteur. Tu fais ensuite une boucle qui permettra de la placer dans le template de BL


OpenStudio Toulouse

Offline


En effet je n'y avais pas penser dans ce sens là.
Merci pour la piste

Offline


J'avance bien mais j'arrive pas à afficher mon image

Voici mon code (j'ai directement mis l'URL du fichier que je genere dans la variable)

            <td style="width:50%;padding-left:5mm;">
                 <div style="rotate: -90;">
                   {$delivery = "http://localhost:8888/maboutique/web/deliverylabels/ORD000000000103-etiquette-0.gif"}
                   <img src="{$delivery}" style="position: relative;width:700px">
                </div>
              </td>

Pourquoi mon image ne s'affiche pas ?
Elle semble bien générer puisque j'arrive à l'afficher sur mon PC, dans mon navigateur et dans photoshop donc je suppose qu'elle est bien formée.
PS : Je travaille en localhost (pas sur serveur)
Merci pour les pistes

Offline


Essaie de faire un file_get_contents() sur ton image, ça devrait te retourner false en cas de problème, ou les données de l'image si PHP arrive a accéder à l'image.

Peut être que la paramètre PHP url_fopen est à 0 et empêche PHP d'accéder à une ressource réseau via http


OpenStudio Toulouse

Offline


Tout est OK. J'arrive à l'afficher dans une page externe à Thelia ou même dans le template.

Il n'y a que dans le PDF que je n'arrive pas à l'afficher

Je suis à cours d'idée sur la cause de ce problème. Peut être des paramètres de la librairie que gère les PDFs ?

Offline


Pour débugger le HTML généré, tu peux faire le hack suivant dans core/lib/Thelia/Action/Pdf.php

    public function generatePdf(PdfEvent $event)
    {
echo $event->getContent();
exit;
        $html2pdf = new Html2Pdf(
            $event->getOrientation(),
            $event->getFormat(),
            $event->getLang(),
            $event->getUnicode(),
            $event->getEncoding(),
            $event->getMarges()
        );
...

Tu accèdes ensuite au B.O. en mode développement. Tu vas ainsi afficher le code HTML généré avant qu'il soit traité par Html2Pdf, et mieux voir le problème avec ton image, ou avoir une piste.


OpenStudio Toulouse

Offline


Résolu.
C'était un problème de format en convertissant en jpg çà a marché.