Zum Inhalt springen

formhandler Formular als pdf Anhang

Erstellt am 21. Dezember 2010 · 5 Antworten · letzte Antwort am 22. Mai 2013

Tags: Frage

pyrix ·

Hallo,

ich nutze formhandler 0.9.1 Typo3 4.4.4 webkitpdf

pdf wird grundsätzlich generiert, das ausgefüllte Formular lässt sich speichern und anzeigen.

Aber es gelingt mir nicht den formhandler dazu zu bewegen das ausgefüllte Formular an die Mail zu hängen.
devlog schweigt sich aus -> keine Anzeige
debug formhandler sagt:

Rufe Finisher "Tx_Formhandler_Finisher_Mail" auf!
Füge PDF hinzu:

Die dort zu erwartende Pfadangabe bleibt einfach leer.

Mein relevanter Teil vom Typoscript (extern eingebunden über includescript):

2.class = Tx_Formhandler_Finisher_Mail
                2.config {
                        limitMailsToUser = 5
                        admin {
                                to_email = xxx@example.com 
                                to_name = Some Admin
                                subject = Nachricht von der Webseite/Kontaktformular 
                                sender_email = kontakt@example.com
                                sender_name = kontakt
                                replyto_email = email
                                #replyto_name = lastname
                                #htmlEmailAsAttachment = 1
                                #attachment = picture 
                                attachPDF {
                                    class = Generator_WebkitPdf
                                    config {
                                        pid = 304
                                        }
                                    exportFields = company,contact_person,email
                                }
                        }
                        user {
                                to_email = email
                                to_name = contact_person 
                                subject = Your SingleStep request
                                sender_email = email@host.com
                                sender_name = Some Company
                                replyto_email = email@host.com
                                replyto_name = TEXT
                                replyto_name.value = Some Company
                                htmlEmailAsAttachment = 1
                                #attachment = company,contact_person,email 
                                attachPDF {
                                  class = Generator_WebkitPdf
                                  config {
                                    pid = 304
                                  }
                                }
                        }
                }
                3.class = Tx_Formhandler_Finisher_SubmittedOK
                3.config {
                        returns = 1
                        actions {
                                pdf {
                                        class = Generator_WebkitPdf
                                        config {
                                        pid = 304 
                                        }

                                }
                          }

danke für Hilfe!

pyrix

cephei ·

Hey

Hast du eine Lösung für dein Problem gefunden?
Ich stehe gerade vor dem selben Problem.

Ist es im formhandler überhaupt möglich, die generierten PDF's als Attachment mitzuschicken? Bisher habe ich nur gelesen, das der formhandler Attachments aus den form upload feldern erlaubt.

gruss
cephei

piäskl ·

schließe mich an! gibt es eine lösung? ich bin mir nicht sicher, ob ich das webkit richtig eingerichtet habe, allerdings bewirkt der unten aufgeführte formhandler-ts nichts, obgleich das plugin ordnungsgemäß eingefügt wurde. finde auch im netz nichts dazu und die lektüre des manuals bringt mich ebensowenig weiter.

pyrix ·

nein, ich habe bisher keine Lösung.
soweit ich aber google entnehmen kann, funktioniert es bei einigen scheinbar doch.
Weiß vielleicht jemand mittlerweile wie das mit webkit funktioniert?

danke
pyrix

George Mason ·

Es hilft auf jeden Fall, zunächst die PDF-Generierung alleine zum Laufen zu bringen, und sich erst anschließend um das attachment zu kümmern, sonst hat man zwei Baustellen auf einmal.

Auf alle Fälle habe ich das gleiche Problem mit Formhandler 1.6.0 und TYPO3 6.0.4 dass die PDFs zwar generiert werden, und auch gut aussehen, sie aber nicht mitgeschickt werden können. Meine Config:

plugin.Tx_Formhandler.settings {
  finishers {
    1 {
      class = Tx_Formhandler_Finisher_Mail
      config {
        admin {
          to_email = meine.email@provider.de

          # In neueren Versionen von Formhandler gibt es die Option "attachPDF" nicht mehr.
          # Das heißt jetzt "attachGeneratedFiles"

          attachGeneratedFiles {
            1 {
              class = Generator_WebkitPdf
              config {
                # PID der Seite mit WebkitPdf
                pid = 9

                #Pflicht!
                returnFileName = 1
                storeInTempFile = 1

                #Optional
                customTempOutputPath = /pfad/zu/typo3temp/tx_webkitpdf/
                debugScriptCall = 1
                allowedHosts = mein.hostname
              }
            }
          }
        }
      }
    }

    2 {
      class = Tx_Formhandler_Finisher_SubmittedOK
      config {
        returns = 1
        actions {
          pdf {
            class = Generator_WebkitPdf
            config {
              pid = 9
            }
          }
        }
      }
    }
  }
}

# Generierung und Download des PDFs funktionieren
plugin.tx_webkitpdf_pi1 {
  pdfLink.pluginPid = 9
  allowedHosts = mein.hostname
  customTempOutputPath = /pfad/zu/typo3temp/tx_webkitpdf/
}

Stehe derzeit mit dem Entwickler in Kontakt, evtl. kann er uns die Lösung verraten 🙂

George Mason ·

Für die Nachwelt:

Ihr müsst die Config s.o. anpassen, braucht die aktuelle Version von Webkpit PDF (1.2.0) und müsst anschließend folgenden Fix durchführen:

Datei:
typo3conf/ext/webkitpdf/pi1/class.tx_webkitpdf_pi1.php

Zeile: 114-

Alt:

$urls = $this->piVars[$this->paramName];
if(!$urls) {
	if (isset($this->conf['urls.'])) {
		$urls = $this->conf['urls.'];
	} else {
		$urls = array($this->conf['urls']);
	}
}

Neu:

$urls = $this->piVars[$this->paramName];
if(!$urls) {
	if (isset($this->conf['urls.'])) {
		$urls = $this->conf['urls.'];
	} elseif(is_array($this->conf['urls'])) {
		$urls = $this->conf['urls'];
	} else {
		$urls = array($this->conf['urls']);
	}
}

Und dann klappt es auch mit dem Anhang!