2016-07-21 16 views
-1

Ich benutze PrestaShop 1.6.1.4 und ich möchte die Bibliothek tcpdf mit Dompdf ändern.PrestaShop Bibliotheken ersetzen

Ich verwende dieses Formular zum Erstellen von Rechnungen.

Was sind die besten Praktiken für einen Bibliotheksaustausch?

+1

Willkommen bei Stack Overflow! Ich habe deine Frage soweit bearbeitet, wie ich dein Problem erraten konnte. Fügen Sie jedoch Code und Beschreibung hinzu, damit mehr Personen mit Wissen über das Thema sie sehen können. Bitte editieren Sie in der spezifischen Fehlermeldung, die Sie antreffen, falls es notwendig ist, das spezifische Problem zu identifizieren. Viel Glück! – manetsus

Antwort

0

Ich erstellte innerhalb Override die Tools-Ordner und ich legte uns dompdf-Master hier https://github.com/dompdf/dompdf gefunden.

Anstatt innerhalb override/classes/pdf kopierte ich PDFGenerator.php, gibt es in Klassen/pdf.

In PDFGenerator.php hinzufügen:

require_once('/../override/tools/dompdf-master/dompdf/Dompdf.php'); 
require_once('/../override/tools/dompdf-master/autoload.inc.php'); 
include('/../override/tools/dompdf-master/dompdf/dompdf_config.inc.php'); 
use Dompdf\Dompdf; 
use Dompdf\Options; 

Die Klasse wird:

class PDFGenerator extends DOMPDF 

die Render Eliminiert() Funktion und ersetzen Sie es mit:

public function render($filename, $display = true) 
{ 
    if (empty($filename)) { 
     throw new PrestaShopException('Missing filename.'); 
    } 

    $html = $this->header.$this->content.$this->footer; 
    //die($html);  

    $options = new Options(); 
    $options->set('A4','potrait'); 
    $options->set('enable_css_float',true); 
    $options->set('isHtml5ParserEnabled', true); 

    $dompdf = new DOMPDF($options); 
    $dompdf->load_html($html); 

    $dompdf->render(); 

    $dompdf->stream($filename); 
} 

Dann gelöscht i-Cache /class_index.php