Zu bedenken ist das formrecipient und efg nicht zusammen funktionieren (getestet unter contao Version 2.10.3).
E-Mail an auswählbare Empfänger versenden
Einklappen
X
-
Hallo Ali,
die Extensions sollten zusammen funktionieren. Ich habe es gestern erst mit 2.11 erfolgreich getestet. Mir ist also kein Fehler bekannt und wenn du einen hast, solltest du ihn mir verraten....
JanJan Theofel
Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps
Kommentar
-
Leider hatte ich ein erhebliches Problem unter contao 2.10.3 efg und formrecipient zum Laufen zu bringen.
EFG lieft gar nicht.
Ich habe dann dem efg Entwickler - Thomas Kuhn - die Option in die Dateistruktur einzusehen gegeben.
Nach seiner Meinung vertragen sich / oder haben sich beide Erweiterungen nicht vertragen. Nach dem Deaktivieren von formrecipient lief efg wieder ohne Probleme.
Das Problem bei efg war, dass das Formular nicht mehrseitig angezeigt werden konnte.
Testet mal ein mehrseitiges Formular, ob es funzt!
Gruß
aadursunVG
aadursun
Kommentar
-
Hi,
ich habe keine mehrseitigen Formular mit efg im Einsatz. Wenn du mir eine Testinstallation zur Verfügung stellen könntest, wäre das klasse. Danke!
JanJan Theofel
Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps
Kommentar
-
Wo liegt des Rätsels Lösung?
Hallo, wenn jemand hier noch einmal lesen sollte!Zitat von do_while Beitrag anzeigenHallo beatem,
weisse Seite bedeutet meist, dass die Fehlermeldungen in den TL Einstellungen abgeschaltet sind (sollen sie ja auch für Produktivbetrieb). Schalte mal die Fehlermeldungen kurz ein und dann kommen hoffentlich ein paar Klartextzeilen zur Anzeige, so dass wir Dir besser weiterhelfen können.
die Fehlermeldung aus dem Error-Log wäre z.B. "Parse error: parse error, expecting `T_FUNCTION' in contaoroot\system\modules\efg\EfgCallbacks.php on line 21" Und hier die m.E. passende Callback-Funktion:
Zeile 21 wäre also das Dateiende. Was bedeutet also dies? Ich kann ebenso mit diesem Procedere die Efg-Bestätigungsmail unterdrücken; aber leider eben auch das Erreichen der Bestätigungsseite! - die sieht manuell aufgerufen korrekt aus.PHP-Code:<?php if (!defined('TL_ROOT')) die('You can not access this file directly!'); class EfgCallbacks extends Backend { public function checkConfirmationMail($arrSubmitted, $arrFiles, $intOldId, &$arrForm) { // Einschraenkung auf das Formular if ($arrSubmitted['FORM_SUBMIT'] == 'auto_tu-default') // anzupassen, Wert siehe hidden-Input im Formular { // Prüfung des übermittelten Wertes der checkbox if ( !isset($arrSubmitted['ccopy']) || $arrSubmitted['ccopy'] != 'EmailAntwortgewollt' ) { // deaktivieren der Option 'Bestätigungs-Mail versenden' $arrForm['sendConfirmationMail'] = false; } return $arrSubmitted; } } } ?>
LÖSUNG SELBST GEFUNDEN - vielleicht hilft es jemanden:
Und nun nach xampp php Update von 5.2x auf 5.4.7 sowie einer Korrektur des EfgCallback Codes (Man muss halt immer! dem copy-paste Verfahren misstrauen!!!) funktioniert es wie gewünscht. Der Fehler war - dumm dumm dumm: eine geschweifte Klammer zu wenig in der EfgCallback.php (siehe oben, nun richtig). An der PHP-Version lag es definitv nicht.
Danke für die Anleitungen. oo/ .. ctao ..Zuletzt geändert von ctao; 25.11.2012, 19:09.sigpic
Oliver Matthies
Rahlskamp 6
22527 Hamburg
Kommentar
-
protectedselect + formrecipient ist aktuell für Contao Version 2.11
Hallo hallo, ich bitte um Hilfe
ich bin ganz neue im Contao und brauche genau so eine Erweiterung, die mir ermöglich durch "Geschütztes Select-Menü" verschiedene Empfänger-Adressen auszuwählen.
Hier ist meine Vorgehensweise:
1. installation "protectedselect"
2. installation "formrecipient"
3.
4.
nach dem ich das Formular sende, bekomme ich leider folgende Fehler.
kann mir bitte helfen?
Kommentar
-
Hallo elemivick,
aufgrund Deiner Screens der Formulareinstellung und der Fehlermeldung kann ich keine "Beteiligung" des EFG erkennen.
Das Problem dürfte (wenn die Screens tatsächlich die aktuellen Einstellungen zeigen) hier zu finden sein:
(Zitat aus der Beschreibung der 'formrecipient')
Schöne GrüßeErmöglicht die Eingabe des InsertTags {{form::feldname}} (dabei natürlich "feldname" durch den Name des Feldes ersetzen) im Empfängerfeld der Formularkonfiguration.
Tom
Kommentar
-
Hallo Tom,
danke für deine Antwort.
es hat funktioniert mit folgende Einstellungen:
1.
2.
was für die Erweiterung protectedselect, nicht zu viel Sinn hat, da die eingetragene E-Mail Adresse auf den "Referenz"-Feld im Quellcode zu sehen ist.
Ich wäre es dann, ganz normal mir "Select-Menü" bauen, statt "Geschütztes Select-Menü"
Schöne Grüße
Victoria
Kommentar
-
Hi Victoria,
Das ist keine gute Idee. In dem Fall kann man dein Formular missbrauchen um SPAM darüber zu verwenden. Und zwar an jeden beliebigen Empfänger!Zitat von elemivick Beitrag anzeigenIch wäre es dann, ganz normal mir "Select-Menü" bauen, statt "Geschütztes Select-Menü"
Bei deinem Beispiel sollte der Wert aber nicht im Quellcode auftauchen. Hast du ein Beispiel, wo ich mir das anschauen kann? (Gerne per E-Mail an jan@theofel.de.)
Alles Gute
JanJan Theofel
Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps
Kommentar
-
Lösung für Contao 3
Hallo,
ich bekomme unter Contao 3.0.3 und EFG 2.0.0 rc1 die Auswahl des E-Mail-Empfängers nicht zum Laufen. EFG 2.0.0 rc1 Build 4 ist bereits installiert, andere Formulare mit festen E-Mail-Empfängern funktionieren problemlos wie gewünscht.
Ich bin wie folgt vorgegangen:
1) protectedselect (1.0.1 Build 7) installiert, Autoload-Dateien erstellt, IDE-Kompatibilitätsdatei aktualisiert
2) formrecipient (1.1.0 Build 5) installiert, Autoload-Dateien erstellt, IDE-Kompatibilitätsdatei aktualisiert
==> Ich weiß, diese Erweiterungen sind noch nicht für Contao 3.0.x freigegeben, es werden bisher aber keine Fehlermeldungen im Error-Log angezeigt
3) Im Formular ein geschütztes Select-Menü mit folgenden Einstellungen erstellt:
4) In den Formulareinstellungen "per E-Mail versenden (EFG)" aktiviert mit den folgenden Einstellungen:
Wenn jetzt das Formular ausgefüllt und abgesendet wird erscheint die folgende Fehlermeldung im Frontend:
In der Datei Error.log ist jetzt ebenfalls eine Fehlermeldung sichtbar:
Code:[11-Feb-2013 19:03:49 UTC] PHP Warning: Invalid argument supplied for foreach() in /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/library/Contao/Widget.php on line 1035 #0 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/library/Contao/Widget.php(1035): __error(2, 'Invalid argumen...', '/is/htdocs/wp10...', 1035, Array) #1 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/forms/FormSelectMenu.php(130): Contao\Widget->isValidOption('chef') #2 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/forms/Form.php(160): Contao\FormSelectMenu->validate() #3 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/classes/Hybrid.php(210): Contao\Form->compile() #4 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/forms/Form.php(62): Contao\Hybrid->generate() #5 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/library/Contao/Controller.php(446): Contao\Form->generate() #6 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/modules/ModuleArticle.php(179): Contao\Controller->getContentElement(Object(Contao\Model\Collection)) #7 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/modules/Module.php(148): Contao\ModuleArticle->compile() #8 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/modules/ModuleArticle.php(59): Contao\Module->generate() #9 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/library/Contao/Controller.php(374): Contao\ModuleArticle->generate(false) #10 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/library/Contao/Controller.php(227): Contao\Controller->getArticle(Object(Contao\Model\Collection), false, false, 'main') #11 /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/pages/PageRegular.php(109): Contao\Controller->getFrontendModule('0', 'main') #12 /is/htdocs/accountnummer/www/domain-ordner/index.php(250): Contao\PageRegular->generate(Object(Contao\PageModel)) #13 /is/htdocs/accountnummer/www/domain-ordner/index.php(411): Index->run() #14 {main}
Die Option "(EFG) Formular-Daten speichern" ist ebenfalls aktiviert, hier wird aber kein Eintrag vorgenommen.
Wenn ich einen festen E-Mail-Empfänger eintrage funktioniert das Formular problemlos, auch der Inhalt der Variable {{form::empfaenger}} wird je nach Auswahl richtig übermittelt.
Muss hier protectedselect und formrecipient für Contao 3 angepasst werden oder mache ich einen Fehler?
Danke für die Hilfe.
Schmidty
Kommentar
-
Hallo Schmidty,
Die beiden Erweiterungen 'protectedselect' und 'formrecipient' sind -wie Du ja selbst anmerkst- nicht für Contao 3 freigegeben.Muss hier protectedselect und formrecipient für Contao 3 angepasst werden oder mache ich einen Fehler?
'protectedselect' funktioniert (ohne Anpassungen) auch nicht nach Erstellen der Autoload-Dateien.
Sie sollte funktionieren, wenn Du in der Datei system/modules/protectedselect/FormProtectedSelectMenu.php die folgende Methode ergänzt:
Aber: Bei gleichzeitiger Verwendung von EFG und 'formrecipient' verliert man einige Funktionen/Möglichkeiten des EFG, z.B. funktionieren die mehrseitigen Formulare nicht mehr.PHP-Code:... class FormProtectedSelectMenu extends FormSelectMenu { // Anfang der Ergänzung public function __set($strKey, $varValue) { switch ($strKey) { case 'protectedOptions': $arrConfigOptions = deserialize($varValue, true); $arrOptions = array(); foreach ($arrConfigOptions as $k => $arrOption) { $arrOptions[$k] = array('value' => $arrOption['reference'], 'label' => $arrOption['label']); } $this->arrOptions = $arrOptions; break; } parent::__set($strKey, $varValue); } // Ende der Ergänzung public function __get($strKey) { ...
Schöne Grüße
TomZuletzt geändert von tom; 11.02.2013, 21:57.
Kommentar
-
Immer noch Probleme
Hallo tom,
herzlichen Dank für deine Hilfe. Dass ich bei der Verwendung von protectedselect und formrecipient die Option der mehrseitigen Formulare verliere, ist mir bekannt. Das Ganze ist derzeit einfach ein Testsystem, in diesem Fall steht aber später die Auswahl des E-Mail-Empfängers im Vordergrund.
Ich habe Deine vorgeschlagene Modifikation durchgeführt, leider funktioniert das Ganze aber nicht wie es soll.
Wenn ich jetzt das Formular ausfülle und absende, wird keine E-Mail verschickt, beim Firefox wird eine leere Seite ohne Quellcode angezeigt, im IE wird ein ein Error 500 angezeigt. Außerdem wird im Backend (EFG Formulardaten speichern) nur ein Teil der Formulardaten eingetragen, die Angaben des geschützten Select-Menüs fehlen komplett.
Im Error-Log steht jetzt:
Ich denke, da ist die Anpassung von protectedselect und formrecipient an Contao 3 notwendig.Code:PHP Fatal error: Call to a member function TickerInsertTags() on a non-object in /is/htdocs/accountnummer/www/domain-ordner/system/modules/core/library/Contao/Controller.php on line 1891
In PHP bin ich nicht besonders fit, deshalb komme ich an dieser Stelle nicht weiter.
Bei Bedarf kann ich gerne per PM oder E-Mail die Zugangsdaten zu meinem Contao3-Testsystem schicken.
Danke und viele Grüße
Schmidty
Kommentar
-
Hallo Schmidty,
die Fehlermeldung ist kaum auf die Anpassung zurückzuführen, der Grund ist eher die "function TickerInsertTags()".
Wenn Du mir Zugangsdaten für Backend und ftp sendest (per PM), kann ich mir das (heute wohl nicht mehr) mal ansehen.Bei Bedarf kann ich gerne per PM oder E-Mail die Zugangsdaten zu meinem Contao3-Testsystem schicken.
Schöne Grüße
Tom
Kommentar
Kommentar