Jump to content

Erreur sur l'affichage des factures (frontoffice)


Recommended Posts

Bonjour à tous

Mon client (prestashop 1.6) vient de me signaler que les factures côté frontoffice ne s'affichaient pas, avec un message d'erreur. Je ne sais pas depuis quand.

Message d'erreur : " mPDF error: Some data has already been output to browser, can't send PDF file ", avec comme url index.php?controller=pdf-invoice&id_order=1136. Je ne vois pas trop comment corriger ce problème surtout que son site est tout ce qu'il y a de standard dans son adaptation.

C'est quand on clique sur l'icône du PDF (voir image). A noter que la facture s'affiche sans soucis dans le backoffice.

Merci d'avance pour ceux qui prendront le temps de me répondre.

Capture.PNG

Link to comment
Share on other sites

17 hours ago, doekia said:

Soit tu as un BOM dans un fichier, soit tu as laissé le mode debug actif et il y a un message (warning) qui veux s'afficher

Pour le debug ce n'est pas le cas, voici la début du fichier defines.inc.php

 

/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', false);
}
/* Compatibility warning */
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);
if (_PS_MODE_DEV_ === true) {
    @ini_set('display_errors', 'on');
    @error_reporting(E_ALL | E_STRICT);
    define('_PS_DEBUG_SQL_', true);
} else {
    @ini_set('display_errors', 'off');
    define('_PS_DEBUG_SQL_', false);
}

define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);

 

Un BOM dans un fichier ? c'est à dire ? sachant que ça le fait sur tous les pdf facture du frontoffice mais que ces pdf s'affichent bien dans le backoffice

Link to comment
Share on other sites

Mon client vient de me faire remarquer qu'on ne peut pas pas non plus envoyer de message sur sa commande, dans son historique, donc tout ça ne serait pas lié ?...

J'ai testé, le bouton envoyer se grise quand on clique dessus et il ne se passe rien

 

 

Capture.PNG

Link to comment
Share on other sites

C'est la ligne 76 du controller PDFInvoiceController.php qui provoque l'affiche de l'erreur "mPDF error: Some data has already been output to browser, can't send PDF file "

Hook::exec('actionPDFInvoiceRender', array('order_invoice_list' => $order_invoice_list));

mais je ne vois pas trop où chercher ensuite, où part le code avec l'appel de actionPDFInvoiceRender

Link to comment
Share on other sites

1 hour ago, doekia said:

Un fichier du front envoi des caractères (le plus souvent BOM) avant que le PDF soit complètement disponible.

Lorsque l'entête doit être envoyé pour finaliser la réponse, on se heurte à cette erreur

Et comment faire pour savoir où exactement cette erreur se passe ? car je ne sais pas où aller après le

Hook::exec('actionPDFInvoiceRender')
Link to comment
Share on other sites

8 hours ago, doekia said:

Ben il va dans les hook associés (modules > position)

désolé si ma question semble bête, je suis un pur développeur (capable de partir d'une page blanche et de faire un site ecommerce), presta je ne maitrise point, j'arrive à adapter au besoin du client, mais sur ce genre de soucis, je suis un peu perdu

C'est donc le displayPDFInvoice ? (voir PJ) et donc le module Extensions PDF M4 ?

 

Capture.PNG

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