Jump to content

[gelöst][PS1.7.6.1] Rechnungs-PDF


Paul Sack

Recommended Posts

Das geht nur durch eine Eingriff in den Programmcode der Klasse PaymentModule.php. Das war auch bei früheren Versionen so und hat sich nicht geändert. Wurde auch hier im Forum schon öfter erklärt - z.B. hier: 

Fall du aber die Rechnung selbst ändern willst, musst du ins Verzeichnis /pdf sehen.

Edited by Wuschel (see edit history)
  • Thanks 1
Link to comment
Share on other sites

Die Bestätigungsmail wird wunschgemäß erzeugt und versendet. Es fehlt die Rechnungs-PDF als Anhang.
Laut BackOffice wurde keine Rechnung erzeugt. Der Code der PaymentModule.php ist quasi unverändert, ~ Zeile 634:
 

 // Join PDF invoice
if ((int) Configuration::get('PS_INVOICE') && $order_status->invoice && $order->invoice_number) {
   $order_invoice_list = $order->getInvoicesCollection();
   Hook::exec('actionPDFInvoiceRender', array('order_invoice_list' => $order_invoice_list));
   $pdf = new PDF($order_invoice_list, PDF::TEMPLATE_INVOICE, $this->context->smarty);
   $file_attachement['content'] = $pdf->render(false);
   $file_attachement['name'] = Configuration::get('PS_INVOICE_PREFIX', (int) $order->id_lang, null, $order->id_shop) . sprintf('%06d', $order->invoice_number) . '.pdf';
   $file_attachement['mime'] = 'application/pdf';
} else {
        $file_attachement = null;
}

 

Link to comment
Share on other sites

Ach, jetzt versteh ich erst. Deine Frage war da etwas missverständlich formuliert. Es wird also bei dir also keine Rechnung angehängt. Das dürfte dann wohl ein Fehler von 1.7 sein. Der Code, der im von mir zitierten Topic gemeint war,  muss sich unter dem von dir zitierten befinden:. So sollte er aussehen: 

if (Validate::isEmail($this->context->customer->email)) {
                            Mail::Send(
                                (int)$order->id_lang,
                                'order_conf',
                                Mail::l('Order confirmation', (int)$order->id_lang),
                                $data,
                                $this->context->customer->email,
                                $this->context->customer->firstname.' '.$this->context->customer->lastname,
                                null,
                                null,
                                $file_attachement,
                                null, _PS_MAIL_DIR_, false, (int)$order->id_shop
                            );
                        }
                    }

Aber das scheint dann wohl in 1.7 nicht zu funktionieren, da die Variable $file_attachement leer bleibt.

Edited by Wuschel (see edit history)
  • Thanks 1
Link to comment
Share on other sites

vor 5 Stunden schrieb Paul Sack:

Laut BackOffice wurde keine Rechnung erzeugt.

Wann Rechnung und Lieferschein erzeugt werden, wird über den Status festgelegt, schau dir doch einmal die Einstellungen für den Status an, der als erstes für eine Bestellung erzeugt wird (das kann je nach Zahlungsart unterschiedlich sein).

Generell ist es ungewöhnlich, daß ein Kunde die Rechnung bereits mit der Bestätigungsmail erhält, er wird damit auch nicht rechnen und die anhängende Rechnung deshalb möglicherweise gar nicht erst finden.

  • Thanks 1
Link to comment
Share on other sites

Keine Vorgabe, jedenfalls nicht von 1.7.4.3, sondern eines der vielen Überbleibsel in einer halbherzigen Neuentwicklung namens 1.7, deren Programmierer die komplexen Abhängigkeiten des alten Shopsystem (bis ca. 1.6.1.2) vermutlich noch immer nicht ganz entschlüsselt haben. Deshalb  wohl auch die vielen Fehlermeldungen an allen Ecken und Enden.

  • Thanks 1
Link to comment
Share on other sites

Wenn du keinen anderen Status auswählst und auf "Aktualisieren" klickst, kommt natürlich eine (hier offensichtlich schlecht formulierte) Fehlermeldung.

Du mußt die Konfiguration des Status unter Voreinstellungen - Bestelleinstellungen (o.ä.) - Status überprüfen.

  • Thanks 1
Link to comment
Share on other sites

@Wuschel: habe mich mal wieder mißverständlich ausgedrückt. Der Vorgängershop PS1.7.4.3 war dermaßen ‚kaputtkonfiguriert’, dass er lediglich im Debug-Modus lief. Eine eins-zu-eins Neueuntwicklung war unausweichlich, naheliegenderweise in der neuesten Version PS 1.7.6.1. Die Rechnung war standardmäßig an die Bestätigungsmail angehängt – genaugenommen also eine Vorgabe der Shopbetreiber.

 

Link to comment
Share on other sites

Für mich ist es müßig, bei 1.7 darüber zu spekulieren, warum mal wieder dies oder jenes nicht läuft. Vor ein paar Tagen habe ich einen 1.7-Testshop upgedated. Seitdem lässt sich damit überhaupt keine Mail mehr verschicken. Weiß der Henker, warum. Das ist einfach keine ausgereifte Software!

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