Hab gerade das gleiche Problem. Hoffentlich bekommt Avenger das wieder hin. Wenn ich immer an die 100 Bestellungen einzeln drucken muss werd ich ja zum Hirsch
OK, das ist klar, da hat sich ja nichts geändert.... Folgende Änderungen in "admin/pt_gm_pdf_order.php": 1. Lösungsversuch (vorzugsweise): An das Ende anfügen: PHP: if (class_exists('TCPDF')){ class FPDF extends TCPDF {}} falls das nicht funktioniert 2. Lösungsversuch: vor PHP: $gmFormat = new GMOrderFormat(); einfügen PHP: require_once(DIR_FS_CATALOG . 'PdfCreator/fpdf.php'); Falls auch das nicht geht, Fehlermeldung im Log posten...
Pkt. 1 brachte die gleiche Fehlermeldung wie ursprünglich Pkt. 2 brachte: Fatal error: Cannot redeclare class FPDF in /admin/PDFMerger/fpdi/fpdi2tcpdf_bridge.php on line 29
Noch ein Versuch... Erst mal alle Änderungen entfernen. In "admin\PDFMerger\PDFMerger.php" PHP: class PDF_JavaScript extends FPDF ersetzen mit: PHP: //class PDF_JavaScript extends FPDFclass PDF_JavaScript extends TCPDF In "admin\PDFMerger\PDF_JavaScript.php" PHP: class PDF_JavaScript extends FPDF ersetzen mit PHP: //class PDF_JavaScript extends FPDFclass PDF_JavaScript extends TCPDF
(Link nur für registrierte Nutzer sichtbar.) ..aber wir kommen dabei schon soweit, dass er den Status der Bestellung auf "Rechnung erstellt" ändert **** 11.09.2014, 08:51:43, Bestellung 2014106242, Rechnung R_2014105898 verarbeitet<br>11.09.2014, 08:51:43, Bestellung 2014106242, Lieferschein L_2014105884 verarbeitet<br><br>11.09.2014, 08:51:43, Druckaufbereitung gestartet<br /> **** ...das Rechnungs-pdf findet sich im _invoice-Ordner
================================================================================ 2014-09-11 09:06:07 (287b3e7d290a98231e925f8dd4b7e861) FATAL ERROR(1): "Cannot access protected property FPDI::$PDFVersion" Request: GET /admin/pt_gm_pdf_order.php?type=invoice&oIDs=2014106242&print_copies=2&href=http://www.natuerlich-heilen.at/admin/orders.php - duration: ~110ms - server: Apache/2.2.22 (Debian) - server address: 144.76.180.225 - user agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) - remote address: 287b3e7d290a98231e925f8dd4b7e861 Session: - tpl: EyeCandy - MOBILE_ACTIVE: false - language: german - languages_id: 2 - language_charset: utf-8 - language_code: de - currency: EUR - customers_status: Array ( [customers_status_id] => 0 [customers_status_name] => Admin [customers_status_image] => admin.gif [customers_status_public] => 1 [customers_status_min_order] => 0 [customers_status_max_order] => 0 [customers_status_discount] => 0.00 [customers_status_ot_discount_flag] => 1 [customers_status_ot_discount] => 0.00 [customers_status_graduated_prices] => 0 [customers_status_show_price] => 1 [customers_status_show_price_tax] => 1 [customers_status_add_tax_ot] => 0 [customers_status_payment_unallowed] => [customers_status_shipping_unallowed] => [customers_status_discount_attributes] => 0 [customers_fsk18] => 0 [customers_fsk18_display] => 1 [customers_status_write_reviews] => 1 [customers_status_read_reviews] => 1 ) - cart: shoppingCart Object ( [contents] => Array ( ) [total] => 0 [weight] => 0 [cartID] => [content_type] => ) - wishList: wishList Object ( [contents] => Array ( ) [total] => 0 [weight] => 0 [cartID] => [content_type] => ) - customer_id: 2 - payment: ### Session entry not present ### - shipping: ### Session entry not present ### - cartID: ### Session entry not present ### - sendto: ### Session entry not present ### - billto: ### Session entry not present ### Get: - type: invoice - oIDs: 2014106242 - print_copies: 2 - href: (Link nur für registrierte Nutzer sichtbar.) Information: <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> <style type="text/css"> body { background-color: white; padding:10px; } a.button, a.button:link, a.button:visited, a.button:active, a.button:hover, span.button { white-space: nowrap; padding:4px 10px; } </style> 11.09.2014, 09:06:07, Bestellung 2014106242, Rechnung R_2014105898 verarbeitet<br>11.09.2014, 09:06:07, Bestellung 2014106242, Lieferschein L_2014105884 verarbeitet<br><br>11.09.2014, 09:06:07, Druckaufbereitung gestartet<br /> <b>Fatal error</b>: Cannot access protected property FPDI::$PDFVersion in <b>/home/www/web5/html/shop/admin/PDFMerger/fpdi/fpdi_pdf_parser.php</b> on line <b>381</b><br />
Auf ein nächstes: in "admin\PDFMerger\fpdi\fpdi_pdf_parser.php" PHP: $this->fpdi->PDFVersion = max($this->fpdi->PDFVersion, $this->pdfVersion); ersetzen mit PHP: //$this->fpdi->PDFVersion = max($this->fpdi->PDFVersion, $this->pdfVersion); Das generierte PDF war OK????
Sowohl Rechnung als auch Lieferschein wurden korrekt generiert. Jetziger Versuch liefert: <b>Fatal error</b>: Cannot access protected property FPDI::$k in <b>/home/www/web5/html/shop/admin/PDFMerger/fpdi/fpdi_pdf_parser.php</b> on line <b>280</b><br />
Da gibt es ein grundlegendes Problem..... Die neue TCPDF-Klasse, die Gambio jetzt für die PDF-Erstellung verwendet, definiert einige Variablen jetzt als "protected", die in FPDF "public" waren, so dass man da jetzt nicht mehr dran kommt...... Das ist das Problem....
....und was heisst das jetzt? - nehme an großere Probleme Eigentlich Wahnsinn, dass das der Gambio nicht von alleine kann - bei 1-2 Bestellungen am Tag gehen ja, aber wenns mehr wird ist deine Mehrfachdruckfunktion ein absolutes MUSSSSS (für mich unverständlich, dass das beim Voting für 2.2 nur an 43ter Stelle kommt)
Ja..... Letzter Versuch, der aber nicht mehr updatesicher ist..... In "PdfCreator/tcpdf.php" PHP: protected $k; ersetzen mit PHP: public $k;
Leider - leider: <b>Fatal error</b>: Cannot access protected property FPDI::$PDFVersion in <b>/home/www/web5/html/shop/admin/PDFMerger/fpdi/fpdi_pdf_parser.php</b> on line <b>381</b><br />
Gut, dann die gleiche Prozedur wie für "$k" noch für "$PDFVersion"... Die Zeile 381 hatten wir doch herauskopiert?!
bzgl. Zeile 381: kam deshalb, weil ich die fpdi_pdf_parser.php wieder mit der ORG-Datei überschrieben habe. Jetz hab ich obiges nochmal probiert: <b>Fatal error</b>: Call to undefined method FPDF_TPL:df_write_value() in <b>/home/www/web5/html/shop/admin/PDFMerger/fpdi/fpdi.php</b> on line <b>361</b><br />
$k und $PDFVersion jetzt auf public: Call to undefined method FPDF_TPL:df_write_value() in <b>/home/www/web5/html/shop/admin/PDFMerger/fpdi/fpdi.php</b> on line <b>361</b><br />
Noch eine Kleinigkeit, bei näherer Betrachtung der erzeugten Rechnungen und Lieferscheine, ist mir aufgefallen: Die Adresse wird abgeschnitten und bei der Versandart steht kein Wert
Nutzt alles nix, ich habe das jetzt mal ordentlich in meiner Entwicklungsumgebung debugged, und jetzt funktioniert das wieder..... Ich binde für den Druck jetzt die alte "FPDF"-Klasse ein. Das Problem war, dass das PDFMerge-Modul bei Vorhandensein von "TCPDF" (was Gambio jetzt verwendet) eine Bridgeklasse "FPDF" daraus erstellt, was dann zu diversen Problemen führte. Das habe ich ihm jetzt abgewöhnt... Im anhängenden Archiv befindet sich die aktualisierte Version für Gambio 2.1.x. Bevor man das kopiert sollte man die Datei "admin\includes\multi_invoice_configure.php" sichern, und nach dem Kopieren des Packages wieder herstellen. Wie immer gilt: Anwendung auf das ausschließliche Risiko des Shopbetreibers. Es gibt keinerlei Gewährleistung. Erst in einem Testshop testen. Cache leeren.
JEAHH, und es druckt wieder - Super - großes DANKE an Avenger ...wenn da nicht noch ein "aber" wäre: Die Versandadresse wird, wie oben beschrieben, leider immer noch abgeschnitten, und die Versandart scheint nicht auf. Beim Ausführen werden die Rechnung und Lieferschein gedruckt. Leider kommt unmittelbar nach den Klick auf den roten "Ausführungs-Button" die Meldung: Sie müssen eine Bestellung markieren und zwei kleine Kosmetiksachen sind mir auch noch aufgefallen - siehe Anhang