Re: [TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
Hallo, ich habe deine Antwort gerade gesehen. So habe ich benutzt: /** * @param array $recipient recipient of the email in the format array('recipi...@domain.tld' => 'Recipient Name') * @param array $sender sender of the email in the format array('sen...@domain.tld' => 'Sender Name') * @param string $subject subject of the email * @param string $templateName template name (UpperCamelCase) * @param array $variables variables to be passed to the Fluid view * @return boolean TRUE on success, otherwise false */ protected function sendTemplateEmail(array $recipient, array $sender, $subject, $templateName, array $variables = array()) { //$currentContentObject = $this->configurationManager->getContentObject()->data; /** @var \TYPO3\CMS\Fluid\View\StandaloneView $emailView */ $emailView = $this->objectManager->get('TYPO3\\CMS\\Fluid\\View\\StandaloneView'); $extbaseFrameworkConfiguration = $this->configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK); $templateRootPath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($extbaseFrameworkConfiguration['view']['templateRootPath']); $templatePathAndFilename = $templateRootPath . 'Mailseden/' . $templateName . '.html'; $this->view->setTemplatePathAndFilename($templatePathAndFilename); $this->view->assignMultiple($variables); $emailBody = $this->view->render(); /** @var $message \TYPO3\CMS\Core\Mail\MailMessage */ $message = $this->objectManager->get('TYPO3\\CMS\\Core\\Mail\\MailMessage'); $message->setTo($recipient) ->setFrom($sender) ->setSubject($subject); // Possible attachments here //foreach ($attachments as $attachment) { // $message->attach(\Swift_Attachment::fromPath($attachment)); //} // Plain text example #$message->setBody($emailBody, 'text/plain'); // HTML Email $message->setBody($emailBody, 'text/html'); $message->send(); return $message->isSent(); } // E-Mail zum Bestellungs beareiter $thereturn = $this->sendTemplateEmail(array($this->settings['flexForm']['e_mailBer'] => 'Recipient Name'), array($this->settings['flexForm']['e_mailBer'] => 'Sender Name'), 'Bestellung', 'Bestellung', array('someVariable' => 'Foo Bar')); \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($thereturn, 'thereturn'); // Zum andere bearbeiter if($this->settings['flexForm']['e_mailLeit']){ $thereturn = $this->sendTemplateEmail(array($this->settings['flexForm']['e_mailLeit'] => 'Recipient Name'), array($this->settings['flexForm']['e_mailLeit'] => 'Sender Name'), 'Bestellung', 'Bestellung', array('someVariable' => 'Foo Bar')); \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($thereturn, 'thereturn'); } // E-Mail zum Kunde $thereturn = $this->sendTemplateEmail(array($this->settings['flexForm']['e_mailBer'] => 'Recipient Name'), array($this->settings['flexForm']['e_mailBer'] => 'Sender Name'), $this->settings['flexForm']['e_betreff'], 'List', array('someVariable' => 'Foo Bar')); \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($thereturn, 'thereturn'); Ich überschreibe das Template im kontroller im jede anruft!! : $this->view->setTemplatePathAndFilename($templatePathAndFilename); Dann habe ich kein Problem mehr. Viel Grüße Nicolas ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
Hallo Bernd, ich weiss nicht recht, ob das dort nicht fehl am Platz ist... Die Anleitung im Wiki funktioniert ja in ihrem Gültigkeitsbereich einwandfrei. Es geht ja hier nur um den Spezialfall, dass man nicht in einer von Tx_Extbase abgeleiteten Klasse arbeitet. Wie auch immer, ich habe bei dem Wiki-Artikel einen Vermerk in der Diskussion hinzugefügt. Es ist mir lieber, wenn andere Leute entscheiden, ob dieser Sonderfall in's Wiki aufgenommen werden soll. Gruß, bbb ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
Am 27.11.14 16:45, schrieb N W: Hallo nochmal, das letzte Problem hat sich erledigt, als ich für meine Extension ein statisches Template erstellt und dieses im Haupttemplate inkludiert habe. Der Thread ist somit gelöst. Das Code-Beispiel der Seite http://wiki.typo3.org/How_to_use_the_Fluid_Standalone_view_to_render_template_based_emails funktioniert, wenn man ein paar kleine Anpassungen macht. $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('\TYPO3\CMS\Extbase\Object\ObjectManager'); $configurationManager = $objectManager->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager'); dann sei doch so nett und schreib das mit ins Wiki, damit das Beispiel auch für andere funktioniert. bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
Hallo, ich habe diese Funktion bei mir im eine eigene Extension benutzt und so funktioniert!! /** * @param array $recipient recipient of the email in the format array('recipi...@domain.tld' => 'Recipient Name') * @param array $sender sender of the email in the format array('sen...@domain.tld' => 'Sender Name') * @param string $subject subject of the email * @param string $templateName template name (UpperCamelCase) * @param array $variables variables to be passed to the Fluid view * @return boolean TRUE on success, otherwise false */ protected function sendTemplateEmail(array $recipient, array $sender, $subject, $templateName, array $variables = array()) { //$currentContentObject = $this->configurationManager->getContentObject()->data; /** @var \TYPO3\CMS\Fluid\View\StandaloneView $emailView */ $emailView = $this->objectManager->get('TYPO3\\CMS\\Fluid\\View\\StandaloneView'); $extbaseFrameworkConfiguration = $this->configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK); $templateRootPath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($extbaseFrameworkConfiguration['view']['templateRootPath']); # Mailseden = überschreiben mit de korrekte Dir $templatePathAndFilename = $templateRootPath . 'Mailseden/' . $templateName . '.html'; $this->view->setTemplatePathAndFilename($templatePathAndFilename); $this->view->assignMultiple($variables); $emailBody = $this->view->render(); /** @var $message \TYPO3\CMS\Core\Mail\MailMessage */ $message = $this->objectManager->get('TYPO3\\CMS\\Core\\Mail\\MailMessage'); $message->setTo($recipient) ->setFrom($sender) ->setSubject($subject); // Possible attachments here //foreach ($attachments as $attachment) { // $message->attach(\Swift_Attachment::fromPath($attachment)); //} // Plain text example $message->setBody($emailBody, 'text/plain'); // HTML Email #$message->setBody($emailBody, 'text/html'); $message->send(); return $message->isSent(); } $theReturn = $this->sendTemplateEmail(array('nicolas.pue...@lgb-rlp.de' => 'Recipient Name'), array('nicolas.pue...@lgb-rlp.de' => 'Sender Name'), 'Email Subject', 'List', array('someVariable' => 'Foo Bar')); Viele Grüße. Nicolas ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
Guten morgen! displayErrors hast du in der LocalConfiguration/InstallTool aktiviert? Dann sollte sich zumindest deine weiße Seite mit einer Fehlermeldung füllen. Gruß, David. Am 25.11.2014 19:15 schrieb N W : > > Hallo Jost, > > vielen Dank für den Hinweis. Ich wollte es gerade ausprobieren aber jetzt ist > TYPO3 schon wieder wegen irgendetwas anderem beleidigt... Ich bekomme gerade > nur eine komplett leere Seite ohne jegliche Fehlermeldung, wenn ich meinen > Finisher aktiviere. Ist bestimmt nur eine Kleinigkeit aber für heute gebe ich > erstmal auf. Ich probiere es morgen. > > Danke und Gruß, bbb > ___ > TYPO3-german mailing list > TYPO3-german@lists.typo3.org > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
Hallo, ich habe vor einiger Zeit mal eine Extension gebaut, die es einem ermöglicht, Extbase Controller Actions in Finishers, Interceptors etc. zu nutzen [1]. Ist zwar als outdated markiert, sollte aber theoretisch noch funktionieren. Lass mich wissen, wenn es Probleme damit gibt. Viele Grüße, Alex [1] http://typo3.org/extensions/repository/view/formhandler_extbase -- Alexander Stehlik alexander.steh...@gmail.com ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
Hallo Jost, vielen Dank für den Hinweis. Ich wollte es gerade ausprobieren aber jetzt ist TYPO3 schon wieder wegen irgendetwas anderem beleidigt... Ich bekomme gerade nur eine komplett leere Seite ohne jegliche Fehlermeldung, wenn ich meinen Finisher aktiviere. Ist bestimmt nur eine Kleinigkeit aber für heute gebe ich erstmal auf. Ich probiere es morgen. Danke und Gruß, bbb ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Moin, wenn du den ObjectManager initialisiert kriegst, müsstest du den doch nutzen können, um einen Configuration-Manager zu kriegen: $this->objectManager->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager'); Gruß Jost On 11/25/2014 06:32 PM, N W wrote: > Hallo, > > ich möchte aus einem selbst entwickelten Form-Handler-Finisher > eine Email versenden, deren Inhalt ich aus einem Template erstellen > möchte. Ich habe bereits den Artikel "How to use the Fluid > Standalone view to render template based emails" > (http://wiki.typo3.org/How_to_use_the_Fluid_Standalone_view_to_render_template_based_emails) > > gelesen aber die dort vorgestellte Lösung funktioniert in diesem Falle > nicht, da die Basisklasse des Finishers > "Tx_Formhandler_AbstractFinisher" anscheinend weder objectManager > noch configurationManager bereitstellt. Der objectManager ist kein > Problem aber den configurationManager kriege ich irgendwie nicht > richtig initialisiert. > > Der Email-Versand funktioniert problemlos... wie kriege ich in > dieser Situation am einfachsten ein Template geparst und das > Ergebnis als String zurück? > > Gruß, bbb -BEGIN PGP SIGNATURE- Version: GnuPG v1 iEYEARECAAYFAlR0wBAACgkQNme/yCvmvTICVQCdFEUQKo59Gd4rAIZ0e0ZG9CpN 8ZYAn24LxBlG94RwkbZKsUN0jXEkMDk3 =LmTJ -END PGP SIGNATURE- ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Template-Email aus custom Form-Handler-Finischer versenden
Hallo, ich möchte aus einem selbst entwickelten Form-Handler-Finisher eine Email versenden, deren Inhalt ich aus einem Template erstellen möchte. Ich habe bereits den Artikel "How to use the Fluid Standalone view to render template based emails" (http://wiki.typo3.org/How_to_use_the_Fluid_Standalone_view_to_render_template_based_emails) gelesen aber die dort vorgestellte Lösung funktioniert in diesem Falle nicht, da die Basisklasse des Finishers "Tx_Formhandler_AbstractFinisher" anscheinend weder objectManager noch configurationManager bereitstellt. Der objectManager ist kein Problem aber den configurationManager kriege ich irgendwie nicht richtig initialisiert. Der Email-Versand funktioniert problemlos... wie kriege ich in dieser Situation am einfachsten ein Template geparst und das Ergebnis als String zurück? Gruß, bbb ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german