Andreas Korthaus: Mailtexte extern speichern

Beitrag lesen

Hallo!

--- die Daten einlesen, das Mail einlesen und dann z.B. %anrede% mit der aus der Datenbank gelesenen anrede ersetzen. Klappt wunderbar... Gesamte message einlesen und dann am besten eine Subroutine &parsetext($message) erstellen, die dann die Felder ersetzt...

Das ist auch nicht das Problem. Aber eigentlich hast Du Recht, man muß sich nur einmal die Arbeit machen alle Variablen in den Parser aufzunehmen, welche Reihenfolge verwendest Du denn? Parst Du erst den Mailtext, und der Parser holt sich dann die Daten selbst? Aber das ist alles nicht  ganz so optimal, wenn ich die Daten aus einer Datenbank holfe, dann würde es bei der Verwendung von einem Parser für das gesamte Projekt nur Sinn machen, wenn er sich alle Variablen einzelnd holt, also %Anrede%, %Name%... alles als eine neue SQL-Abfrage, normalerweise mache ich das ganze mit einer einzigen Abfrage in der ich alle Felder abfrage, nur läßt sich sowas nicht in den Parser packen, da die Datenbank-Abfragen _sehr_verschieden sind. Außerdem verwende ich teilweise JOINs über mehrere Tabellen, das alles kann der Parser nicht wissen. Also muß ich dem Parser die rohen Daten vorher zur Verfügung stellen, und da wird das ganze wieder komplizierter, dann brauche ich eine Schnittstelle zum Parser...

--- eigentlich nicht. Du hast dann in der Mail z.B. %zahlungsoption%, welches vom Parser mit der Variable $zahlungsoption ersetzt wird und die hat je nach Zustand einen anderen Wert.

Und wo speichere ich welchen Wert die Variable $zahlungsoption hat?

Außerdem besteht hier noch das Problem, das man eine ganze Liste mit bestellten Artikeln angeben muß, deren Länge man vorher nicht kennt.
--- s.o.

Was heißt da s.o.? Also eine Variable  %liste% verwenden und der Parser macht daraus die richtige Liste oder wie? Am Ende wird doch wieder alles mehr oder weniger gemischt, vielleicht sollte man für bestimmte mails einfach mehrere Templates für bestimmte Teile haben, und im Script alles zusammensetzen, naja.

Grüße
Andreas