Platzhalter in E-Mailverlinkung
Moderator: mirko
Re: Platzhalter in E-Mailverlinkung
Mir ist schon klar, wozu du das brauchst. Aber ich kann die Umwandlung nicht machen, denn brauche ich irgendwann mal selbst Platzhalter, die urlencoded sind, dann würde ich mir diese selbst wieder kaputt machen. z.B. beim SuperMailer habe ich genau so etwas erst gebraucht. Und wenn ich die Umwandlung machen würde, dann bedeutet dies auch eine offizielle Unterstützung der Platzhalter in einer mailto: Anweisung, das tue ich natürlich nicht, denn dazu müssten die Werte nach der Ersetzung auch urlencoded eingesetzt werden.
Re: Platzhalter in E-Mailverlinkung
Ich versteh leider nicht ganz was du damit meinst. Der Platzhalter wird doch nur durch einen Namen ersetzt. Dieser sollte in der Datenbank sauber hinterlegt sein. Des weiteren könntest du in einer weiteren Prüfroutinge (siehe foreach oben) den Platzhalter ja wieder urlencoden (wenn du das für sinnvoll hälst).
Ich hingegen finde ich weiterhin für nützlich, wenn man das subject= als auch body= mit Platzhaltern füllen kann. Vorallem für Antworten, da möchte ich doch eine Kundennummer in der Antwortmail haben etc. Und die bekomm ich eben nur rein, wenn das pro E-Mail flexibel ist.
Ich hingegen finde ich weiterhin für nützlich, wenn man das subject= als auch body= mit Platzhaltern füllen kann. Vorallem für Antworten, da möchte ich doch eine Kundennummer in der Antwortmail haben etc. Und die bekomm ich eben nur rein, wenn das pro E-Mail flexibel ist.
Re: Platzhalter in E-Mailverlinkung
Ich weiss, dass ich das ersetzen könnte aber will ich lieber nicht machen, vielleicht braucht man irgendwann mal die Angaben urlencoded, dann würde sich das überschneiden. Man soll auch keine Platzhalter im mailto:-Link verwenden, weil es nicht urlencoded übergeben wird.
Re: Platzhalter in E-Mailverlinkung
Ok, dann hab ich wohl wirklich was falsch gemacht. Danke fürs Testen. Sowas passiert ja natürlich immer nur, wenn man echt viel gemacht hat und viel Arbeit reingesteckt hat
Normal kopier ich mir bei solchen Sachen immer zuvor noch kurz den Quelltext in die Zwischenablage, sollte mal was sein, aber in diesem Fall war es recht dringend und daher sogar doppelt Ärgerlich, dass ich dann nochmal von voren anfangen musste.
Wegen den kodierten HTML befehlen. Könntest du da nicht nach den Standardvariablen prüfen lassen? Klar weiß ich, dass ich die Angaben im Quelltext ändern kann, so hatte ich es auch letztens gemacht. Aber wäre es nicht schön, wenn man die Platzhalter (trotz der automatischen Technik von dem Editior) ohne Quellcode nutzen könnte.
Du müsstest ja lediglich die eigenen Platzhalter prüfen
Damit wäre das Problem behoben. Denn ob der Platzhalter nun kodiert ist oder nicht, ist mir ja beim Editor egal. Hauptsache die Endverarbeitung beim Wegmailen stimmt.
Wenn du dieses foreach generell vor die Ersetzfunktion der Platzhalter einbaust, müsste es gehen. Sicherheitsrisiken hat es demnach auch keine, da nur die internen Platzhalter geprüft werden bzw. die, die man oben im $arrPlatzhalter angibt.

Wegen den kodierten HTML befehlen. Könntest du da nicht nach den Standardvariablen prüfen lassen? Klar weiß ich, dass ich die Angaben im Quelltext ändern kann, so hatte ich es auch letztens gemacht. Aber wäre es nicht schön, wenn man die Platzhalter (trotz der automatischen Technik von dem Editior) ohne Quellcode nutzen könnte.
Du müsstest ja lediglich die eigenen Platzhalter prüfen
Code: Alles auswählen
$arrPlatzhalter = array('u_Email', 'u_FirstName', 'u_LastName', .....);
foreach($arrPlatzhalter => $var):
$ckEditorText = str_replace('%5B' . $var . '%5D' , '[' . $var . ']' , $ckEditorText);
endforeach;
Wenn du dieses foreach generell vor die Ersetzfunktion der Platzhalter einbaust, müsste es gehen. Sicherheitsrisiken hat es demnach auch keine, da nur die internen Platzhalter geprüft werden bzw. die, die man oben im $arrPlatzhalter angibt.
Re: Platzhalter in E-Mailverlinkung
Ändern kann ich es nicht. Die mailto: Funktion ist etwas CK-Editor internes, dabei werden aus dem Dialog die Inhalte urlencoded in den HTML-Code übernommen. Du kannst im Link-Dialog alles eingeben und danach im Quelltext wieder die Angaben in [ und ] für die Platzhalter ändern.the_scrat hat geschrieben:Das mag ja sein, dass das subjet= urlencoded sein muss, ändert ja trotzdem nichts daran, dass die Variablen umgewandelt werden. Schließlich sende ich ja nichtNein, kann ich nicht, macht der CK-Editor so. Du solltest auch keine Platzhalter verwenden, denn die Parameter z.B. ?subject= müssen urlencoded übergeben werden, ansonsten könnten diese möglicherweise nicht erkannt werden.
subject=[u_FirstName] [u_FirstLastname]
Sondern beim Versenden sollte dann natürlich drin stehen subject=Max%20Mustermann. Daher wäre es meiner Meinung sinnvoll, wenn du auf Platzhalter prüfen könntest ggf. mit den kodierten HTML befehlen und diese dann ersetzen lässt.
Habe ich auch gerade nochmals getestet, der Inhalt im Editor bleibt erhalten, wenn man den E-Mail-Betreff einfach weglässt. Das muss ja auch, denn es wird ein normales POST beim Speichern gemacht, danach per PHP geprüft, ob auch alle Pflichtfelder ausgefüllt sind. Fehlt ein Pflichtfeld, werden einfach alle Felder wieder gefüllt.Das mit dem HTML abspeichern prüfe ich nochmal, ich bin mir aber sicher, dass der Code keinen Fehler hatte, wie soll man auch bei einem HTML Code einen Fehler machen? In einem Editor? Der Fehler war, dass die Betreffzeile leer war, das besagte auch die Fehlermeldung. Ist ja auch ok, aber zumindest wäre es schön gewesen, wenn der Editortext vorher gespeichert worden wäre.
Re: Platzhalter in E-Mailverlinkung
Das mag ja sein, dass das subjet= urlencoded sein muss, ändert ja trotzdem nichts daran, dass die Variablen umgewandelt werden. Schließlich sende ich ja nichtNein, kann ich nicht, macht der CK-Editor so. Du solltest auch keine Platzhalter verwenden, denn die Parameter z.B. ?subject= müssen urlencoded übergeben werden, ansonsten könnten diese möglicherweise nicht erkannt werden.
subject=[u_FirstName] [u_FirstLastname]
Sondern beim Versenden sollte dann natürlich drin stehen subject=Max%20Mustermann. Daher wäre es meiner Meinung sinnvoll, wenn du auf Platzhalter prüfen könntest ggf. mit den kodierten HTML befehlen und diese dann ersetzen lässt.
Das mit dem HTML abspeichern prüfe ich nochmal, ich bin mir aber sicher, dass der Code keinen Fehler hatte, wie soll man auch bei einem HTML Code einen Fehler machen? In einem Editor? Der Fehler war, dass die Betreffzeile leer war, das besagte auch die Fehlermeldung. Ist ja auch ok, aber zumindest wäre es schön gewesen, wenn der Editortext vorher gespeichert worden wäre.
Re: Platzhalter in E-Mailverlinkung
Nein, kann ich nicht, macht der CK-Editor so. Du solltest auch keine Platzhalter verwenden, denn die Parameter z.B. ?subject= müssen urlencoded übergeben werden, ansonsten könnten diese möglicherweise nicht erkannt werden.the_scrat hat geschrieben:Hallo Mirko,
im Fenster für Link editieren (für E-Mail) gibt es ja unten die Platzhalter. Diese lassen sich jedoch nicht in Verbindung mit dem Link-Typ "E-Mail" nutzen, obwohl es geht.
Trage ich in dem Fenster die Platzhalter manuell ein z.B. im Betreff "... von [u_FirstName] [u_LastName]" bekomme im Quelltext die Klammern [] nur umgewandelt dargestellt (%5Bu_FirstName%5D%20%5Bu_LastName%5D).
Wenn ich direkt im Quelltext subject=... von [u_FirstName] [u_FirstName]" eintrage, gehts wunderbar und wird auch korrekt umgewandelt.
Könntest du bitte diesen Fehler beseitigen, damit man die Platzhalter auch in diesem Typ nutzen kann (Betreffzeile und Nachrichtentext).
Das darf aber nicht so sein, dann war ein Fehler in deinem HTML-Code, den darf man so auch nicht versenden lassen.Ach und weil ich grad da binnoch ein echt doofer Fehler den ich gefunden habe:
Wenn man bei E-Mail/Inhalt seine E-Mailinhalt einpflegt, was je nach Umfang und Design recht lang dauern kann und dann VERGISST einen Betreff einzutragen wäre es vielleicht hilfreich, wenn diese Sache per Javascript geprüft wird bzw. der E-Mailinhalt ERSTMAL gespeichert wird und DANN die Fehlermeldung ausgegeben wird. Mir ist gestern passiert, dass ich den Betreff vergessen habe und beim Speichern kam nur die Meldung, ich hätte keinen Betreff eingegeben. Also ging ich einen Schritt zurück und der komplette Inhalt war weg. Weiß nicht ob das wirklich Benutzerfreundlich ist!
Platzhalter in E-Mailverlinkung
Hallo Mirko,
im Fenster für Link editieren (für E-Mail) gibt es ja unten die Platzhalter. Diese lassen sich jedoch nicht in Verbindung mit dem Link-Typ "E-Mail" nutzen, obwohl es geht.
Trage ich in dem Fenster die Platzhalter manuell ein z.B. im Betreff "... von [u_FirstName] [u_LastName]" bekomme im Quelltext die Klammern [] nur umgewandelt dargestellt (%5Bu_FirstName%5D%20%5Bu_LastName%5D).
Wenn ich direkt im Quelltext subject=... von [u_FirstName] [u_FirstName]" eintrage, gehts wunderbar und wird auch korrekt umgewandelt.
Könntest du bitte diesen Fehler beseitigen, damit man die Platzhalter auch in diesem Typ nutzen kann (Betreffzeile und Nachrichtentext).
Ach und weil ich grad da bin
noch ein echt doofer Fehler den ich gefunden habe:
Wenn man bei E-Mail/Inhalt seine E-Mailinhalt einpflegt, was je nach Umfang und Design recht lang dauern kann und dann VERGISST einen Betreff einzutragen wäre es vielleicht hilfreich, wenn diese Sache per Javascript geprüft wird bzw. der E-Mailinhalt ERSTMAL gespeichert wird und DANN die Fehlermeldung ausgegeben wird. Mir ist gestern passiert, dass ich den Betreff vergessen habe und beim Speichern kam nur die Meldung, ich hätte keinen Betreff eingegeben. Also ging ich einen Schritt zurück und der komplette Inhalt war weg. Weiß nicht ob das wirklich Benutzerfreundlich ist!
im Fenster für Link editieren (für E-Mail) gibt es ja unten die Platzhalter. Diese lassen sich jedoch nicht in Verbindung mit dem Link-Typ "E-Mail" nutzen, obwohl es geht.
Trage ich in dem Fenster die Platzhalter manuell ein z.B. im Betreff "... von [u_FirstName] [u_LastName]" bekomme im Quelltext die Klammern [] nur umgewandelt dargestellt (%5Bu_FirstName%5D%20%5Bu_LastName%5D).
Wenn ich direkt im Quelltext subject=... von [u_FirstName] [u_FirstName]" eintrage, gehts wunderbar und wird auch korrekt umgewandelt.
Könntest du bitte diesen Fehler beseitigen, damit man die Platzhalter auch in diesem Typ nutzen kann (Betreffzeile und Nachrichtentext).
Ach und weil ich grad da bin

Wenn man bei E-Mail/Inhalt seine E-Mailinhalt einpflegt, was je nach Umfang und Design recht lang dauern kann und dann VERGISST einen Betreff einzutragen wäre es vielleicht hilfreich, wenn diese Sache per Javascript geprüft wird bzw. der E-Mailinhalt ERSTMAL gespeichert wird und DANN die Fehlermeldung ausgegeben wird. Mir ist gestern passiert, dass ich den Betreff vergessen habe und beim Speichern kam nur die Meldung, ich hätte keinen Betreff eingegeben. Also ging ich einen Schritt zurück und der komplette Inhalt war weg. Weiß nicht ob das wirklich Benutzerfreundlich ist!