Pdf Dokument in Bestätigungsmail einfügen

In 6.xx besteht momentan noch die Möglichkeit, ältere Module ohne Composer zu installieren.

1 Like

Hallo rubbercut,

ich habe das nicht so richtig verstanden. Die Fragestellung von dem von dir geteilten Thread ist:

“wie könnte man die Nachricht aus dem Kontaktformular an den Autor als Kopie senden.
Gibt es eine Variable für CC bzw. BCC ?”

Das ist nicht direkt meine Intension gewesen. Der Kunde soll als Anhang die InvoicePDF bekommen. Ich glaube, dass die in diesem Stadium noch nicht generiert ist. Bei der alten Version habe ich das noch so im Kopf, dass mit einem zusätzlichen PHP-Code quasi das Modul InvoicePDF ausgeführt wurde und in den selben Ordner (vielleicht weiß kennt jemand den Pfad unter 6.x.x) AGB.pdf generiert bzw. zwischengelagert und an die erste Kundenmail angehängt wurde.

Damals hatte ich diese Erweiterung eingesetzt:

Das Dokument AGB.pdf wird in den jeweiligen Sprachordnern des Moduls (Bsp: translations/de) abgelegt. Ich schaue mir das am Montag mal an, wenn Du bis dahin keine Lösung gefunden hast. Schönes WE.

Vielen Dank für für den Tipp & auch Dir ein schönes WE!

Ich werde noch etwas rumtüffteln, bin aber weiterhin über jede Antwort und Lösungssvorschlag glücklich.

Hallo @Joachim.Schabowski und erstmal herzlich willkommen hier im Forum.

Ich bin der böse Onkel, der den Mund aufmachen muss, wenn etwas nicht läuft wie geplant: Bitte bitte bitte: Versuch, halbwegs ordentliches Deutsch zu schreiben! Dialekt (und hier müssen wir nicht lange raten) sieht zwar alles ganz lustig aus aber es ist - zumindest für Leute, die dessen nicht mächtig sind - eine rechte Anstrengung, zu lesen und gleichzeitig zu verstehen, wovon Du redest.
Du musst Dir vorstellen, dass wir das hier alle nicht zum Spass machen. Viele Leute haben tagsüber recht ordentlich zu tun und schauen ab und an mal ins Forum um zu helfen. Da will man einen Post schnell überfliegen können, damit man ggf. eine Antwort geben kann. Wirre Geschichten oder auch völlig unleserliche Dinge aufgrund von Interpunktion, Groß-/Kleinschreibung oder auch Dialekt werden in aller Regel ignoriert, wenn nicht sogar die fleißigen Helferlein komplett davon genervt sind und deshalb einfach verschwinden.

Hoffen wir, dass sich die Bayern nicht rächen und Danke für’s Verständnis :wink:

So wie ich das sehe, wäre die einzige Änderung in der Datei emailAtt.php in Zeile 85 zu erledigen:
für 6.xx:
oxPDF in invoicepdfpdf (ja, 2x pdf).
für 4.10.x:
oxPDF in invoicepdfoxorder
Schönes WE

Das habe ich gerade gestestet.

Wie man hier sieht, hat scheinbar das Integrieren des Moduls funktioniert (es wird kein Fehler angezeigt):

Ich habe den Ordner “pl_mailatt” direkt unter source/modules abgelegt gehabt und in der von dir genannten Datei in der Zeile 85 das so eingetragen.

Aber es funktioniert leider nicht. Ich habe testweise etwas bestellt, aber die Rechnung als Anhang fehlt. Muss ich evtl. noch etwas anderes einstellen?

Schönen Abend

Das ist nicht immer ein Indiz für eine korrekte Installation.

Im Download gibt es eine Bezeichnung “shoproot”. Root wäre in diesem Fall “source”. Entsprechend fehlt bei Dir der Herstellerordner und die darin enthaltene vendormetadata.php.

Guten Morgen rubbercut,

war tatsächlich so, dass deine eine Textdatei mit dem Namen Shoproot lag. Ich hatte mich gewundert, wofür das ist. Nach Deiner Erklärung, macht es Sinn :slightly_smiling_face:

Jetzt hat es tatsächlich funktioniert. Die Rechnung wird im Angang mitgeschickt. Nur leider fehlerhaft.

Was habe ich denn falsch gemacht? Habe tmp geleert und den Inhalt der Datenbanktabelle oxconfig gelsöcht (bin ja lernfähig :slightly_smiling_face:).

Wenn ich aber aus dem Backend heraus manuell die Mail versende, dann zeigt das PDF alles ordnungsgemäß an, nur bei der ersten Mail macht er den Fehler.

Also hier: “Bestellungen verwalten” -> “Bestellungen” Auftag auswählen und “Jetzt versenden” klicken.

Vielen Dank erneut.

Hallo rubbercut,

ich muss nochmal ganz blöd nachfragen…

Ich habe Deinen Hinweis so verstanden, dass ich in der Datei source/Application/translations/de/lang.php den “Schalter” setAdminMode auf false setzen muss. Aber in dieser Datei finde ich kein setAdminMode. Oder muss ich einfach nur in der source/Application/translations/de/lang.php an beliebiger Stellen “setAdminMode false” eintragen?

Vielleicht war die Verlinkung ungeschickt: Im Text von floko2 steht’s: PDF-Rechnung an Bestellbestätigung anhängen (funktionierender Workaround)

Der Wert wird also dort gesetzt, wo gerade “gearbeitet” wird, d.h. z.B. in der Datei email_att dort, wo das PDF erstellt wird.

das grenzt die Sache etwas ein, danke :slight_smile:

Jetzt habe ich scheinbar nur ein kleines Problem mit der Syntax. Ich habe es in diversen Formen eingegeben, in der Klasse aber auch außerhalb.

Ich habe das in der folgenden Form z.B. gestestet:

Läuft leider auf Fehler immer. Habe ich das falsch eingegeben?

also alles weg. Nur setAdminMode(false) oder true :wink:

meinst Du so?

geht auch nicht :frowning:. Testweise auch true nicht.

> public function PDFgenerator( $oOrder, $sFilename, $iSelLang = 0, $type ) {  
> 		$oOrder->setAdminMode(true);   	         
> 		// setting pdf language         
> 		$oOrder->_iSelectedLang = $iSelLang;          
> 		// setting invoice number         
> 		if ( !$oOrder->oxorder__oxbillnr->value ) {             
> 		$oOrder->oxorder__oxbillnr->value = $oOrder->getNextBillNum();             
> 		$oOrder->save();         
> 		}          
> 		// initiating pdf engine         
> 		$oPdf = oxNew( 'oxPDF' );         
> 		$oPdf->setPrintHeader( false );         
> 		$oPdf->open();          
> 		// adding header         
> 		$oOrder->pdfHeader( $oPdf );          
> 		// adding info data         
> 		switch ( $type ) {             
> 		case 'dnote':            	 
> 		$oOrder->exportDeliveryNote( $oPdf );                 
> 		break;             
> 		default:                 
> 		$oOrder->exportStandart( $oPdf );         
> 		}          
> 		// adding footer         
> 		$oOrder->pdfFooter( $oPdf );          
> 		// outputting file to browser       
> 		$oOrder->setAdminMode(false);   	   
> 		$oPdf->output( $sFilename, 'F' );     
> 		}

was würde ich nur ohne dich mache?

Jetzt klappt es tatsächlich :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :grinning: :slightly_smiling_face:

Schwere Geburt. Vielen Dank für Die tolle Hilfe. Auch an die anderen selbstverstänlich.

Schönen Abend

Morgen rubbercut,

ich schon wieder :slightly_smiling_face:

Jetzt habe ich aber ein anderes Problem:
Der Inhalt der Mail macht genau den gleichen Fehler wie ursprünglich die pdf. Hast Du eine Idee? Muss evtl. dieser setAdminMode in der order_cust.tpl deaktiviert werden? Wenn ja, wie? Danke vorab.

Hallo. Einzig die Änderung in Zeile 85 sowie in der Funktion pdfGenerator (beides in der Datei emailAtt.php) sollten vorhanden sein. In order_cust.tpl hat setAdminMode nichts zu suchen.

Für die Zukunft bitte das Forum und die Dokumentationen nutzen. Hier ist fast alles zu finden, wie die Verlinkungen zeigen.