Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 40 von 125

Thema: [form_pdf] Formular-Daten in ein PDF generieren und als Anhang verschicken.

  1. #1
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard [form_pdf] Formular-Daten in ein PDF generieren und als Anhang verschicken.

    Hallo,
    die Erweiterung ermöglicht es aus sämtlichen übermittelten Formular-Daten ein individuelles PDF zu generieren.
    Die Darstellung kann über Templates angepasst werden und optional wird DOMPDF unterstützt (in den Ordner plugins/dompdf kopieren), was eine hervorragende HTML und CSS Einbindung ermöglicht.

    Das generierte PDF kann optional als Anhang verschickt werden. Standardmäßig wird es zusätzlich im tl_files Ordner gespeichert, damit es auch später gedownloaded werden kann.

    Innerhalb der Formular-Felder kann ausgewählt werden, ob das Feld im PDF übernommen werden soll.

    Folgende Inserttags stehen zur Verfügung:
    PHP-Code:
    {{form_pdf::file}} // Pfad zum PDF
    {{form_pdf::link}} // link zum PDF 
    {{form_pdf::link_url}} // url des PDF
    {{form_pdf::file_confirmation}} // Pfad zum PDF in der Bestätigungsmail
    {{form_pdf::link_confirmation}} // link zum PDF in der Bestätigungsmail
    {{form_pdf::link_url_confirmation}} // url des PDF in der Bestätigungsmail 
    Folgende Globalen stehen zur Verfügung:
    PHP-Code:
    $GLOBALS['FORM_PDF']['path_dompdf'] = 'plugins/dompdf';
    $GLOBALS['FORM_PDF']['path'] = 'tl_files';
    $GLOBALS['FORM_PDF']['filename'] = 'MyPDF'// can use inserttags here
    $GLOBALS['FORM_PDF']['path_confirmation'] = 'tl_files';
    $GLOBALS['FORM_PDF']['filename_confirmation'] = 'MyConfirmationPDF'// can use inserttags here
    $GLOBALS['FORM_PDF']['uniqueFilename'] = false// adds a timestamp to the filename when a file with the same name already exists 
    ER:
    https://contao.org/de/extension-list...000009.de.html

    Github:
    https://github.com/timgatzky/form_pdf

    DOMPDF Komplettpaket
    https://github.com/timgatzky/form_pd...ter/dompdf.zip


    Ein großes Dankeschön geht an die Firma Premium Contao Themes, die die Erweiterung finanziell ermöglicht haben!
    Geändert von Tim G (23.02.2013 um 14:21 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  2. #2
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard [form_pdf] Formular-Daten in ein PDF generieren und als Anhang verschicken.

    Hört sich sehr gut an!

  3. #3
    Contao-Fan Avatar von phreak
    Registriert seit
    06.07.2009.
    Ort
    Wien
    Beiträge
    325

    Standard

    Finde ich sensationell Tim.

    Ich hab mir noch keine Gedanken dazu gemacht aber zusammen mit [downloadArchive] und BugBusters [dlStats] ließe sich eine Hammer-Routine bauen.

    Grüße
    phreak

  4. #4
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard [form_pdf] Formular-Daten in ein PDF generieren und als Anhang verschicken.

    Ja,
    sollte fast keine Wünsche offen lassen.
    Gibt auch ne Menge Hooks um andere pdf plugins reinzuhängen.

    Premium Contao Themes nutzt sie, um über eine ebenfalls entwickelte API zu www.digitaldeliveryapp.com, Rechnungen zu generieren aus ein Formular und als Anhang zu verschicken.


    Sent from my iphone using Tapatalk
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  5. #5
    Community-Moderator Avatar von stefan-at-work
    Registriert seit
    05.06.2009.
    Ort
    Bad Segeberg
    Beiträge
    1.780
    Partner-ID
    634

    Standard

    super Sache...allerdings ja z.Zt. nur für 2.9
    Ist das Modul für 3.0 in der Pipeline?

  6. #6
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von stefan-at-work Beitrag anzeigen
    super Sache...allerdings ja z.Zt. nur für 2.9
    Ist das Modul für 3.0 in der Pipeline?
    Du meintest 2.11.9, oder? 2.9 hab ich nicht getestet.

    Zur Zeit nutzt die Erweiterung die EFG Erweiterung, um Anhänge an die Mail zu backen. Sobald der EFG für die 3er läuft, sollte es ohne Probleme mit dem Integrations-Tool laufen.
    Ich seh gerade Contao 3 hat nativ immer noch keine Mail-Anhang-Unterstützung. Da müsste man die gesamte Mail wieder seperate durch den Swift feuern (musste hier für Anhänge mit DOMPDF auch schon gemacht werden, weil das plugin in jeder erdenklichen Einstellung alle nachfolgenden Daten wegspühlt (flush() ) - ist also bereits integriert. Zusätzlich die Formular-Mail unterdrücken.

    Kurz und knapp, ich denke es läuft ohne eine extra Version, wenn der efg läuft.

    Eine Integration in den normalen E-Mail-Versand ohne EFG hatte ich vor, aber fehle die Zeit gerade und ehrlich gesagt auch die Lust, weil es unnötig aufwendig ist da Anhänge perse nicht unterstützt sind.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  7. #7
    Community-Moderator Avatar von stefan-at-work
    Registriert seit
    05.06.2009.
    Ort
    Bad Segeberg
    Beiträge
    1.780
    Partner-ID
    634

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Du meintest 2.11.9, oder?
    yepp, Tipfehler.

  8. #8
    Contao-Nutzer Avatar von opcode
    Registriert seit
    19.01.2011.
    Ort
    Berlin
    Beiträge
    76

    Standard

    Hallo Tim,

    vielen Dank für deine tolle Erweiterung - bekomme leider nach dem installieren und auswahl von dompdf folgende Fehlermeldung beim abschicken des Formulars - scheint so als komme dompdf nicht mit InsertTags und inputvar zurecht:

    Code:
    Warning: in_array() expects parameter 2 to be array, null given in …/system/libraries/System.php on line 176
    
    #0 [internal function]: __error(2, 'in_array() expe...', '/www/htdocs/w00...', 176, Array)
    #1 …/system/libraries/System.php(176): in_array('getInstance', NULL)
    #2 …/system/libraries/Controller.php(2437): System->import('CatalogInsertTa...')
    #3 …/system/modules/form_pdf/FormPDF.php(447): Controller->replaceInsertTags('Diese E-Mail wu...')
    #4 …/system/modules/form_pdf/FormPDF.php(353): FormPDF->sendMail(Array, Array, false)
    #5 …/system/modules/efg/Efp.php(226): FormPDF->processEfgFormData(Array, Array, 0, Array, Array)
    #6 …/system/modules/frontend/Form.php(466): Efp->processSubmittedData(Array, Array, Array, Array)
    #7 …/system/modules/efg/ExtendedForm.php(544): Form->processFormData(Array, Array)
    #8 …/system/modules/frontend/Hybrid.php(163): ExtendedForm->compile()
    #9 …/system/modules/frontend/Form.php(74): Hybrid->generate()
    #10 …/system/libraries/Controller.php(511): Form->generate()
    #11 …/system/modules/frontend/ModuleArticle.php(194): Controller->getContentElement('3714')
    #12 …/system/modules/frontend/Module.php(140): ModuleArticle->compile()
    #13 …/system/modules/frontend/ModuleArticle.php(71): Module->generate()
    #14 …/system/libraries/Controller.php(443): ModuleArticle->generate(false)
    #15 …/system/libraries/Controller.php(307): Controller->getArticle('812', true, false, 'main')
    #16 …/system/modules/frontend/PageRegular.php(100): Controller->getFrontendModule('0', 'main')
    #17 …/index.php(266): PageRegular->generate(Object(DB_Mysql_Result))
    #18 …/index.php(401): Index->run()
    #19 {main}
    
    
    Fatal error: Class 'CatalogInsertTags' not found in /www/htdocs/w005ce1a/bst/system/libraries/System.php on line 176
    Habe CatalogInsertTags mal deaktiviert, dann sagt er mir Fatal error: Class 'InputVar' not found...

    Mit tcpdf läuft es durch - aber leider kann man dort das CSS nicht so schön umsetzen.

    Hast du eine Idee was da falsch läuft?

    System ist 2.11.9 mit efg 1.16.5
    Geändert von opcode (18.03.2013 um 15:48 Uhr)

  9. #9
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Der erwartet eine Klasse:

    Fatal error: Class 'CatalogInsertTags' not found in /www/htdocs/w005ce1a/bst/system/libraries/System.php on line 176

    Ich nehme mal an, du nutzt das in Verbindung mit dem Katalog und hast katalogbezogene Inserttags in der PDF Vorlage.


    Kleiner Hinweis, ob es genau das Problem trifft, kann ich nicht exakt sagen.
    Das riesen Problem an dompdf ist, dass es in jeder Einstellung das PDF an den Browser sendet. Es gibt kein reales "einfach nur Speichern" oder so. Dadurch wird die Seite neugeladen aber der Prozess läuft vor der Initialisierungsroutine von Contao.
    Aus diesem unschönen Grund, musste ich auch die E-Mail mit Anhang komplett neu erstellen und konnte nicht auf die Hooks zurückgreifen. Der Swifft-Mail musste von Hand im Code inkludiert werden.
    Selbst wenn ich einen Hook bereitstellen würde zum zusätzlichen inkludieren von Klassen, würde dieser zu diesem Zeitpunkt noch nicht existieren.
    D.h. Contao Klassen etc. existieren nicht, wenn die PDF Routine noch nicht abgeschlossen ist.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  10. #10
    Contao-Nutzer Avatar von opcode
    Registriert seit
    19.01.2011.
    Ort
    Berlin
    Beiträge
    76

    Standard

    Ich hatte die Erweiterung CatalogInsertTags eigentlich nur mal installiert um es zu testen, aber eigentlich nutze ich sie nicht.
    Dafür aber InputVar und InsertTags zum Auslesen von catalogeinträgen und Mitgliederdaten...
    Schaaade, geht also mit InsertTags scheinbar nicht über dompdf!

    Mit tcpdf sieht das styling leider nicht so gut aus.

    Kann man eigentlich einzelne Formulareinträge über das Template ausgeben oder geht es nur global mit <?php echo $value; ?> ???

  11. #11
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Ich hatte keine Probleme mit inputvar.
    Musst dann halt {{post::FELDNAME}} nutzen.
    Eigentlich sollten alle Inserttags etc. (auch Datenbankabfragen in der Vorlage, also allgemein PHP) keine Probleme bereiten, weil der Inhalt vor dem eigentlich Aufruf zum PDF erstellen ja bereits abgeschlossen sein muss. Sonst gäbe es ja nichts anzuzeigen
    Ich nutze das auch mit insert_article und hatte keine Probleme.

    Vielleicht liegt es auch einfach an der CatalogInsertTags.

    Kann man eigentlich einzelne Formulareinträge über das Template ausgeben oder geht es nur global mit <?php echo $value; ?> ???
    mit inputvar über {{post::FELDNAME}} bzw. {{get::FELDNAME}}
    Die efg inserttags {{form::FELDNAME}} sollten hier nicht funktionieren, weil diese Routine weit nach dem Erstellen des PDFs läuft. Liegt daran, dass der processEfgForm HOOK (der hier zum Tragen kommt) vor der efg-routine zum Ersetzen der Inserttags getriggert wird.
    (aber inputvar funzt 100pro)

    Du kannst natürlich auch immer über $this->Input->post('FELDNAME'); an Werte kommen.
    Geändert von Tim G (18.03.2013 um 16:26 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  12. #12
    Contao-Nutzer Avatar von opcode
    Registriert seit
    19.01.2011.
    Ort
    Berlin
    Beiträge
    76

    Lächelndes Gesicht

    Super,

    habe es mit tcpdf und {{post::feldname}} jetzt so hingefummelt wie es sein soll ...

    Danke dir noch mal!!

  13. #13
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard [form_pdf] Formular-Daten in ein PDF generieren und als Anhang verschicken.

    Sehr gut


    Sent from my iphone using Tapatalk
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  14. #14
    Contao-Nutzer
    Registriert seit
    31.01.2012.
    Beiträge
    19

    Standard

    Hallo,

    erstmal DANKE für diese tolle Erweiterung!

    Das ist genau das, was ich gerade für ein Kundenprojekt brauche.

    Die Situation ist folgende:
    Der Seitenbesucher gibt im Formular (efg) Daten ein, die in die PDF geschrieben werden sollen und per Mail an ihn versendet werden.
    Soweit funktioniert das ganze auch, die Erweiterung tut ihren Dienst super.

    Nun habe ich aber eine Frage zur Gestaltung der PDF (mit DOMPDF):
    Wenn ich in der PDF per CSS ein background-image zuweisen will: Welche Base-Url nimmt DOMPDF in diesem Fall?

    Ich habe jetzt verschiedenes versucht, das Bild an verschiedensten Stellen kopiert, den Pfad zur Datei absolut (also mit http:// und Co) angegeben, doch warum auch immer habe ich es noch nciht geschafft, ein Hintergrundbild zu laden.

    DOMPDF an sich kann das ja (siehe http://pxd.me/dompdf/www/examples.ph...ound.html,html )... Jetzt ist nur noch die Frage des Verzeichnisses

    Kann mir jemand helfen?
    Vielen vielen Dank schon im vorhinein!

    Viele Grüße
    Josh

  15. #15
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Probier denPfad mal mit TL_ROOT zu bilden.
    Schau mal in die moo_mediabox templates. Da ist sollte das auch so sein.
    Du kannst aber mit externen stylesheets im pdf template arbeiten. Hat bei mir geklappt.
    Dann ist es im relativen Pfad zur css.


    Sent from my iphone using Tapatalk
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  16. #16
    Contao-Nutzer
    Registriert seit
    31.01.2012.
    Beiträge
    19

    Standard

    Hi Tim,

    sorry, dass ich erst jetzt antworte - hoffnungslose Überarbeitung zur Zeit.
    Danke für den Tipp mit TL_ROOT bzw. externe Stylesheets.

    Ich habe es nun noch einmal getestet - auf dem Kundenserver läuft es nicht.
    Da mich das verwunderte hab ich es in MAMP auf nem Testsystem getestet - hier läuft alles. Scheint also ein Problem der Config auf dem Kundenserver zu sein...

    Also nochmal Danke für den Support, jetzt muss ich auf Fehlersuche gehen

  17. #17
    Contao-Nutzer
    Registriert seit
    31.01.2012.
    Beiträge
    19

    Standard Gelöst

    So, hab's jetzt nach einigem testen gelöst bekommen:

    Ich hatte (warum auch immer) in DOMPDF noch
    Code:
    DOMPDF_ENABLE_REMOTE
    auf "false". Daher hat er auch die Bilder aus der CSS ignoriert.
    Externe CSS-Datei, Background-img, DOMPDF - jetzt läuft alles wunderbar!

  18. #18
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    Folgendes musste ich noch ändern beim Einsatz in einer C3 Umgebung:

    Pfad anpassen vom alten Plugin Pfad auf den neuen Vendor.

    Um Zeile 389
    PHP-Code:
            require_once(TL_ROOT '/system/vendor/swiftmailer/swift_required.php'); 
    Um Zeile 698:
    PHP-Code:
            require_once(TL_ROOT '/system/vendor/tcpdf/tcpdf.php');
            require_once(
    TL_ROOT '/system/vendor/tcpdf/htmlcolors.php'); 
    DomPDF habe ich nicht installiert, von daher kann ich da spontan den Pfad nicht angeben...
    Müsste aber um Zeile 663 angepasst werden.

  19. #19
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Frage Funktioniert nicht richtig

    Hallo,

    ich habe in einem Testsystem form_pdf unter Contao 3.0.6 installiert (Installierte Erweiterungen: EFG Version 2.0.1 stable - Build 5, form_pdf 1.0.0 stable - Build 11, xls_export 3.0.0 stable - Build 9).

    Nach der Installation von form_pdf wurde der Autoload-Creator ausgeführt sowie folgende Änderungen in der Datei ../system/modules/form_pdf/FormPDF.php vorgenommen:

    Zeile 389 geändert in: require_once(TL_ROOT.'/system/vendor/swiftmailer/swift_required.php');
    Zeile 698 geändert in: require_once(TL_ROOT . '/system/vendor/tcpdf/tcpdf.php');
    Zeile 699 geändert in: require_once(TL_ROOT . '/system/vendor/tcpdf/htmlcolors.php');

    DOMPDF ist nicht installiert.

    Das Ganze funktioniert halbwegs, allerdings habe ich jetzt einige Fragen:

    Kann in den Feldern "EFG: Per E-Mail versenden" und "EFG: Bestätigung per E-Mail versenden" gleichzeitig die PDF-Generierung aktiviert werden oder darf das immer nur bei einen der genannten Felder aktiviert sein?

    Wie können in der PDF-Ausgabe die Inhalte der Datenfelder einzeln ausgegeben werden? Im HTML-Template ist ja nur die Listenausgabe (alle Formularfelder untereinander) gezeigt. Die Insert-Tags von EFG funktionieren hier nicht. Es soll z.B. ein Formularfeld ausgegeben werden, danach ein Text und dann wieder ein Formularfeld usw.

    Nur teilweise wird die PDF-Datei zum Download angeboten, obwohl "Als Anhang versenden" deaktiviert ist. Auch wird nicht immer eine PDF-Datei im Contao-Dateisystem abgelegt und die dazugehörige Variable richtig belegt. Teilweise wird auch die Formular-Weiterleitungsseite nicht angezeigt und das ausgefüllte Formular wird weiter angezeigt.

    Wenn "Als Anhang versenden" aktiviert ist, wird die PDF-Datei zwar generiert und im Contao-Dateisystem abgelegt aber nicht als Dateianhang mit der E-Mail verschickt.

    Inserttags bei den Dateinamen funktionieren nicht, obwohl dies laut Dokumentation funktionieren sollte (z.B.: $GLOBALS['FORM_PDF']['filename'] = '{{date::Y-m-d}}_dateiname'.


    Zugang zum Testsystem (Backend und FTP) sowie weitere Infos gerne per PN.


    Danke für die Hilfe.
    Schmidty

  20. #20
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Vorab: Die Erweiterung ist ganz klar nicht für eine 3er Version! Daher kann ich nur für die 2er antworten. Einige Fragen, z.B. inserttags sind bereits oben beantwortet.


    Kann in den Feldern "EFG: Per E-Mail versenden" und "EFG: Bestätigung per E-Mail versenden" gleichzeitig die PDF-Generierung aktiviert werden oder darf das immer nur bei einen der genannten Felder aktiviert sein?
    Ja

    Wie können in der PDF-Ausgabe die Inhalte der Datenfelder einzeln ausgegeben werden? Im HTML-Template ist ja nur die Listenausgabe (alle Formularfelder untereinander) gezeigt. Die Insert-Tags von EFG funktionieren hier nicht. Es soll z.B. ein Formularfeld ausgegeben werden, danach ein Text und dann wieder ein Formularfeld usw.
    Inserttags funktionieren. Wenn die {{form:XXX}} Inserttags nicht wollen, ruhig mal mit inputvar und {{post::XXX}} probierne. (Contao 2)

    Nur teilweise wird die PDF-Datei zum Download angeboten, obwohl "Als Anhang versenden" deaktiviert ist. Auch wird nicht immer eine PDF-Datei im Contao-Dateisystem abgelegt und die dazugehörige Variable richtig belegt. Teilweise wird auch die Formular-Weiterleitungsseite nicht angezeigt und das ausgefüllte Formular wird weiter angezeigt.

    Wenn "Als Anhang versenden" aktiviert ist, wird die PDF-Datei zwar generiert und im Contao-Dateisystem abgelegt aber nicht als Dateianhang mit der E-Mail verschickt.
    3er Version-umbau

    Inserttags bei den Dateinamen funktionieren nicht, obwohl dies laut Dokumentation funktionieren sollte (z.B.: $GLOBALS['FORM_PDF']['filename'] = '{{date::Y-m-d}}_dateiname'.
    3er Version-umbau.

    Die Erweiterung liegt auch auf Github. Ich komme zur Zeit nicht dazu die Erweiterung zu updaten, andere Projekte wiegen mehr. Aber Du kannst ja daran arbeiten und die Updates via Github bereitstellen.
    Zur gegebener Zeit wird es sicher eine Version ab 3.1 geben. Versionen unter 3.1 werde ich nicht zusätzlich testen.

    Viele Grüße,
    Tim

    ps. ich sehe gerade, dass das eigentlich als Auftrag ausgeschrieben ist. Vielleicht finanziert Ihr einfach das Update auf eine 3er Version?
    Geändert von Tim G (10.07.2013 um 15:51 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  21. #21
    Contao-Fan Avatar von w3scout
    Registriert seit
    20.06.2009.
    Ort
    Stuttgart
    Beiträge
    273
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Damit form_pdf mit Contao 3.1.x funktioniert, müssen folgende Änderungen gemacht werden:

    Zeile ~389:
    PHP-Code:
    require_once(TL_ROOT '/system/modules/core/vendor/swiftmailer/swift_required.php'); 
    Zeile ~734:
    PHP-Code:
    $pdf->AliasNbPages(); auskommentieren 
    Zeile ~698:
    PHP-Code:
    require_once(TL_ROOT '/system/modules/core/vendor/tcpdf/tcpdf.php');
    require_once(
    TL_ROOT '/system/modules/core/vendor/tcpdf/include/tcpdf_colors.php'); 

    VG

  22. #22
    Contao-Fan Avatar von w3scout
    Registriert seit
    20.06.2009.
    Ort
    Stuttgart
    Beiträge
    273
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hi Tim,

    nimmst Du Pull-Requests auf Github an?

    Hab´ eben den Support für Contao 3.0 und 3.1 eingebaut: https://github.com/w3scouts/form_pdf

    VG

  23. #23
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von w3scout Beitrag anzeigen
    Hi Tim,

    nimmst Du Pull-Requests auf Github an?

    Hab´ eben den Support für Contao 3.0 und 3.1 eingebaut: https://github.com/w3scouts/form_pdf

    VG
    Danke erstmal für das Interesse an der Erw. und die Mühe ein Stück mitzuarbeiten.

    PHP-Code:
    $pdf->AliasNbPages(); 
    Diese Zeilen sind ja aus dem Contao Core von der 2er. Ist in der 3er diese Zeile auskommentiert? Wenn nicht, warum auskommentieren?

    Hast Du getestet ob sämtliche Feautures in der 3er laufen? Oben wurde bemerkt, dass das Mail Attachment nicht funktioniert. Event. hakt es am Swiftmailer. Wenn all diese Sachen funktionieren, nehme ich gern die Requests an.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  24. #24
    Contao-Fan Avatar von w3scout
    Registriert seit
    20.06.2009.
    Ort
    Stuttgart
    Beiträge
    273
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hi Tim,

    Danke erstmal für das Interesse an der Erw. und die Mühe ein Stück mitzuarbeiten.
    Keine Ursache. Danke Dir für das Veröffentlichen des Modules. Konnte ich gerade bei einem Projekt sehr gut gebrauchen.

    Diese Zeilen sind ja aus dem Contao Core von der 2er. Ist in der 3er diese Zeile auskommentiert? Wenn nicht, warum auskommentieren?
    Weil die Methode in der von C3.1 verwendeten TCPDF Version nicht verfügbar ist. Deshalb verursacht die Methode eine Fehlermeldung.

    Hast Du getestet ob sämtliche Feautures in der 3er laufen? Oben wurde bemerkt, dass das Mail Attachment nicht funktioniert. Event. hakt es am Swiftmailer. Wenn all diese Sachen funktionieren, nehme ich gern die Requests an.
    Ich hab´ mal mit C3.1 den normalen Mailversand und den Versand der Bestätigungsmails getestet. Bei beiden Versandarten funktioniert der Versand und das Anhängen der PDF-Datei nun. C3.0 hatte ich gerade nicht zur Verfügung zum Testen. Für C2.x sollte sich nichts geändert haben.

    VG
    Geändert von w3scout (11.07.2013 um 12:18 Uhr)

  25. #25
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Klingt doch gut.
    Generell bin ich immer dafür zwei Versionen zu fahren. Eine für die 2er, eine "richtige" für die 3er - dort sollte dann auch die Vererbung und die Ordnerstruktur richtig gesetzt werden etc.. Aber die paar Änderungen sind dafür wahrscheinlich overkill.
    Um doppelte Arbeit zu sparen, sollte ein version_compare() um die jeweiligen Zeilen, dann können wir mit einer Datei beide Versionen deckeln.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  26. #26
    Contao-Fan Avatar von w3scout
    Registriert seit
    20.06.2009.
    Ort
    Stuttgart
    Beiträge
    273
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Klingt doch gut.
    Generell bin ich immer dafür zwei Versionen zu fahren. Eine für die 2er, eine "richtige" für die 3er - dort sollte dann auch die Vererbung und die Ordnerstruktur richtig gesetzt werden etc.. Aber die paar Änderungen sind dafür wahrscheinlich overkill. Um doppelte Arbeit zu sparen, sollte ein version_compare() um die jeweiligen Zeilen, dann können wir mit einer Datei beide Versionen deckeln.
    Seh´ ich prinzipiell auch so, wenn man die Zeit dafür hat. Ich hab´s jetzt mal mit version_compare gemacht, "quick & dirty" halt. Hauptsache es funktioniert erstmal überhaupt. Find´s nämlich ´ne ziemlich klasse Erweiterung...

  27. #27
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Den version_compare um die Pfad-Variablen setzen wir nicht.
    In der Beschreibung ist klar angegeben welche Globalen Variablen die Erweiterung hat. Es sollte kein Problem sein, diese in der localconfig.php zu definieren.

    Kannst du die elseif noch einrücken und mit einem leeren else schließen. Auge isst mit. Der PHP Parser ist da nicht so, ich weiss. Aber vielleicht wird er auch mal pedantischer und vielleicht hat Contao mal eine Konstante für diese core-Pfade. Dann haben wir gleich einen Platz für ne Standart-Definition. Dank Dir.
    Schreib mal noch ein Kommentar dazu und am besten ein Github Issue mit Referenz-Nummer.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  28. #28
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Frage Weiterhin Probleme unter Contao 3.0.6

    Hallo,

    zuerst einmal Danke für die Rückmelungen. Leider kann ich programmiertechnisch nicht an der Entwicklung mitarbeiten, da mir das Wissen dazu fehlt.

    Ich habe nach wie vor Probleme unter Contao 3.0.6 (noch kein Update auf 3.1.1 möglich, da EFG noch nicht für 3.1.1 freigegeben ist).

    Zeile 731: $pdf->AliasNbPages(); ist auskommentiert

    Was mir aufgefallen ist: Die Pfade zu TCPDF und dem Swiftmailer sind in Contao 3.0.6 anders als in 3.1.1:

    3.0.6:
    Zeile 389: require_once(TL_ROOT . '/system/vendor/swiftmailer/swift_required.php');
    Zeile 698: require_once(TL_ROOT . '/system/vendor/tcpdf/tcpdf.php');
    Zeile 699: require_once(TL_ROOT . '/system/vendor/tcpdf/htmlcolors.php');

    3.1.1:
    Zeile 389: require_once(TL_ROOT . '/system/modules/core/vendor/swiftmailer/swift_required.php');
    Zeile 698: require_once(TL_ROOT . '/system/modules/core/vendor/tcpdf/tcpdf.php');
    Zeile 699: require_once(TL_ROOT . '/system/modules/core/vendor/tcpdf/include/tcpdf_colors.php');

    Die Pfade für die Version 3.0.6 habe ich richtig angegeben. Dennoch kein Dateiversand und Probleme mir den Variablen.

    Ich kann gerne eine Testumgebung mit Contao 3.0.6 (Admin Backend, FTP, Frontend und fertigem Formular) zur Verfügung stellen. Es ist das Testsystem, bei dem es nicht Funktioniert. Weitere Auskünfte gerne auch via Skype. Anfragen bitte per PN.

    Danke für die Hilfe.

    Schmidty

  29. #29
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Probier mal die Version mit den Änderungen von w3scout direkt von github seinem github. Er hat die getestet. Die unterschiedlichen Pfade sind uns bekannt und wurden berücksichtigt.

    Ich, für meinen Teil, werde keinerlei Support für 3er-Versionen kleiner 3.1 geben, auch keine Änderungen oder Fixes. Ich, viele werden das bestätigen, halte sämtliche 3.0er Version für eher kontraproduktiv.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  30. #30
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Standard Danke

    Hallo Tim G,

    Danke für die Info. Ich werde die Version von github testen - Rückmeldung folgt...

    Bezüglich Contao bin auch der Meinung, dass man mindesten 3.1.x besser die LTS 3.2 verwenden sollte (meine eigenen Projekte laufen noch unter 2.11.11).

    Ich bin bei diesem Projekt quereingestiegen, da lief es bereits unter 3.0.6. Da vom Kunden erst ein Update auf 3.1.1 gewünscht wird, wenn efg verfügbar ist, habe ich mit eine 3.0.6er Testumgebung gebaut um das Ganze vorher zu testen. Gleich im Livesystem arbeiten finde ich nicht gut.

    Schmidty

  31. #31
    Contao-Fan Avatar von w3scout
    Registriert seit
    20.06.2009.
    Ort
    Stuttgart
    Beiträge
    273
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Den version_compare um die Pfad-Variablen setzen wir nicht.
    In der Beschreibung ist klar angegeben welche Globalen Variablen die Erweiterung hat. Es sollte kein Problem sein, diese in der localconfig.php zu definieren.

    Kannst du die elseif noch einrücken und mit einem leeren else schließen. Auge isst mit. Der PHP Parser ist da nicht so, ich weiss. Aber vielleicht wird er auch mal pedantischer und vielleicht hat Contao mal eine Konstante für diese core-Pfade. Dann haben wir gleich einen Platz für ne Standart-Definition. Dank Dir.
    Schreib mal noch ein Kommentar dazu und am besten ein Github Issue mit Referenz-Nummer.
    done.

  32. #32
    Contao-Nutzer
    Registriert seit
    24.08.2013.
    Beiträge
    28

    Standard

    Hallo w3scout

    Könntest Du mir genau sagen, welches File ich für Contao 3.0.6 (zip oder Link) nehmen muss und was ich wo manuell in welchem PHP umzustellen habe? Ich bin nach dem Thread etwas verwirrt. Tom G meinte ob noch, dass man in ein oder zwei PHP Files Umstellungen vornehmen muss. Ist das aktuell und wenn ja, was muss ich genau umstellen?

    Grüsse und besten Dank Dir und Tom G

  33. #33
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Ich heisse Tim! Tom ist mein Cousin!

    Nimm die Version von github: https://github.com/timgatzky/form_pdf
    Da sollte alles mit ner 3er Version passen.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  34. #34
    Contao-Nutzer
    Registriert seit
    24.08.2013.
    Beiträge
    28

    Standard

    Entschuldige Tim!

    Ich hab's ausprobiert... es geht noch nicht alles, aber es kommt was!

    Probleme:
    1.
    Wenn ich ein PDF generiere, klappt's nun perfekt.
    Wenn ich jedoch 'Als Anhang versenden' wähle und reinen Text sende, kommt die Error Meldung: TCPDF ERROR: Unable to create output file: tl_files/MyConfirmationPDF.pdf
    Was kann ich allenfalls dagegen tun? In nicht Contao Foren kam etwas mit Rechte ändern oder das File liegt wo anders etc.

    2. Ich kann leider keine Bilder übergeben / senden. Vermutlich ist das jedoch ein reines EFG Thema. Falls ihr hier Erfahrung habt, bitte gerne mitteilen.

    Frage:
    Wo kann ich das Layout des PDF's ändern? Ich hab's noch nicht gefunden. Kann nicht so schwierig sein :-)

    Grüsse und viiiiielen Dank
    Priska
    Geändert von sonneimmeer (26.08.2013 um 16:42 Uhr)

  35. #35
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    1.
    Wenn ich ein PDF generiere, klappt's nun perfekt.
    Wenn ich jedoch 'Als Anhang versenden' wähle und reinen Text sende, kommt die Error Meldung: TCPDF ERROR: Unable to create output file: tl_files/MyConfirmationPDF.pdf
    Was kann ich allenfalls dagegen tun? In nicht Contao Foren kam etwas mit Rechte ändern oder das File liegt wo anders etc.
    Klingt nach einem Rechte-Problem am Server. Nutzt Du den Safe-Mode Hack? Un immer schön mit dem EFG senden.

    2. Ich kann leider keine Bilder übergeben / senden. Vermutlich ist das jedoch ein reines EFG Thema. Falls ihr hier Erfahrung habt, bitte gerne mitteilen.
    Ich nehme an der EFG schickt kein <img>. Ich kann nicht genau sagen was im POST angekommt (hab's einfach nicht getestet), aber ich nehme an, dass der Pfad zum File gesendet wird.
    Damit kannst du im Template ein <img> generieren über z.B. das Inserttag {{image::PFAD-ZUM-FILE}}
    PHP-Code:
    <?php echo $this->replaceInsertTags('{{image::PFAD-ZUM-FILE}}'); ?>
    Wo kann ich das Layout des PDF's ändern? Ich hab's noch nicht gefunden. Kann nicht so schwierig sein :-)
    Die gesamte Darstellung wird durch ein Template gesteuert.
    In den Formular-Einstellungen bei aktiviertem PDF generieren, sollte eine Template-Auswahl erscheinen. (Standardmäßig heisst das mitgelieferte Template: pdf_example_html)
    Geändert von Tim G (26.08.2013 um 17:23 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  36. #36
    Contao-Nutzer
    Registriert seit
    24.08.2013.
    Beiträge
    28

    Standard

    Hallo Tim
    Dickes Dankeschön!
    1. Folder /files/ sowie /files/Domain/ freigegeben. Habe leider immer noch selben Error: TCPDF ERROR: Unable to create output file: tl_files/MyConfirmationPDF.pdf
    2. Habe den Folder /System/tmp/ frei gegeben (777). Kein Unterschied zu vorher. Teste aber noch.
    3. PDF Templates: gefunden! Die zwei Templates liegen im Form_PDF/example/...
    Herzliche Grüsse
    Geändert von sonneimmeer (27.08.2013 um 09:13 Uhr)

  37. #37
    Contao-Nutzer
    Registriert seit
    24.08.2013.
    Beiträge
    28

    Standard

    Hallo Liebe Kollegen,

    Zum Error im Browser 'Error: TCPDF ERROR: Unable to create output file: tl_files/MyConfirmationPDF.pdf' habe ich die Lösung.
    Bei uns, ob das Contao 3 ist weiss ich nicht, gibt's keinen tl_files Ordner, sondern nur einen Ordner files. Ich haben nun einen Ordner mit dem Namen tl_files angelegt und das File wird erstellt. Dafür kommt nun die Weiterleitungsseite nicht mehr.

    Neuer Error beim Aufruf der Swift.php Class:
    PHP Fatal error: Cannot redeclare class Swift in /home/tbd/www/domain.de/system/vendor/swiftmailer/classes/Swift.php on line 18

    Ich gehe davon aus, dass ich eine Klasse zweimal anstosse, weil ich nun den Folder tl_files und files verwende. Ich kann aber auch falsch liegen. Wo würde ich die Einstellung oder Var ändern können, dass nicht mehr in tl_files sondern in files das PDF geschrieben wird?

    Besten Dank und Grüsse
    Geändert von sonneimmeer (27.08.2013 um 15:11 Uhr)

  38. #38
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Bei uns, ob das Contao 3 ist weiss ich nicht, gibt's keinen tl_files Ordner, sondern nur einen Ordner files. Ich haben nun einen Ordner mit dem Namen tl_files angelegt und das File wird erstellt. Dafür kommt nun die Weiterleitungsseite nicht mehr.
    Ja, das ist Contao 3.
    Ich weiss, lesen ist immer oll, aber bitte auch mal den ersten Post hier lesen! Die Erweiterung kommt mit ein paar Variablen, die angepasst werden können in der localconfig.php. So auch das Zielverzeichnis.

    Neuer Error beim Aufruf der Swift.php Class:
    PHP Fatal error: Cannot redeclare class Swift in /home/tbd/www/domain.de/system/vendor/swiftmailer/classes/Swift.php on line 18
    Wird das gleiche sein. Ich nehme an in contao3 sind die Pfade anders. (ich dachte aber das wurde im Zuge der Kompatibilität zu C3 gemacht)
    - Pfad stimmt. Kann ich gerade nicht sagen woran das liegt. Ich nutze auch kein C3.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  39. #39
    Contao-Nutzer
    Registriert seit
    24.08.2013.
    Beiträge
    28

    Standard

    Danke Dir!
    Na peinlich, ich habe nicht im Config geschaut, sondern in den andern Files von Dir und mich gewundert, wo denn da der Pfad eingelesen wird. Aha!

    So, leider geht es trotzdem nicht. Das PDF wird in /files geschrieben, jedoch wird danach der Prozess ohne Error gestoppt. Im Source Code ist eine 1. Das ist alles, was es mir zeigen will. Schade. Hoffte, dass es nun geht

    Muss / darf ich das irgendwo melden? Interessiert das vielleicht w3scout?

    Grüsse und nochmals vielen Dank

  40. #40
    Contao-Nutzer
    Registriert seit
    24.08.2013.
    Beiträge
    28

    Standard

    Liebe Kollegen
    Ich habe den Code durchgeschaut und festgestellt, dass für die Versionen höher 3.1 der Swift Class Aufruf im FormPDF.php auskodiert war. Das habe ich nun für die Version 2.11 bis 3.1 gemacht und der Error ist für mein C3.0.6 weg.

    Zeile ca. 396:
    PHP-Code:
            elseif (version_compare(VERSION'2.11''>') && version_compare(VERSION'3.1''<'))
            {
                
    //require_once(TL_ROOT . '/system/vendor/swiftmailer/swift_required.php');
            

    Was bei mir noch nicht funktioniert ist die saubere Übergabe der Email Adresse, wenn ich das PDF_Form laufen lasse. Das führt zu eine Error, den ich zurzeit manuell übersteuere, da ich so ziemlich alles sauber überprüft habe.

    Error:
    Code:
    (PHP Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 'Address in mailbox given [] does not comply with RFC 2822, 3.6.2.' thrown in /home/hegnere/www/proholz-schwyz.ch/system/vendor/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php on line 352
    #0 /home/hegnere/www/proholz-schwyz.ch/system/vendor/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php(264): Swift_Mime_Headers_MailboxHeader->_assertValidAddress(NULL)).
    Was mein neues und nun wirklich nicht lösbares Problem ist, ist folgendes:
    Ich habe 'HTML-Vorlage für die Bestätigungs-E-Mail' angewählt und zwei Vorlagen erstellt, die gut funktionieren. Dennoch erzeugt es mir - wenn die Extension 'PDF generieren' und 'Als Anhang versenden' angewählt sind - immer nur das nicht HTML konforme Bestätigungsemail. In diesem Fall wird das PDF mit Inhalt generiert, die nicht HTML Email jedoch nur den statischen Teil, der dynamische mit insert Tags fehlt (Aufruf Form:

    Habt Ihr Kracks eventuell noch eine Idee hierzu?

    Herzliche Grüsse
    Geändert von sonneimmeer (01.09.2013 um 08:25 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 3 (Registrierte Benutzer: 0, Gäste: 3)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •