A saját készítésű webshop rendszeremhez szükségem van sablon alapú levelezőre. A rendszer többnyelvű és különböző kontrollerek is folytatnak levelezést.
Továbbá a levelek két féle formában gondoltam, hogy kimennek egyenlőre.
A topikot azért nyitom, hogy ötletelhessünk, illetve a haladó Yii programozók kedvet éreznek, tanácsokat adhassanak a témához.
Regisztráció
-
sablon > felhasználónak megerősítési kérés
-
sablon > felhasználónak visszajelzés a regisztráció elfogadására
-
sablon > felhasználói regisztráció jelzése az admin részére
Jelszó módosítás
- sablon > jelzés a felhasználó számára
[u]Jelszó emlékeztető
[/u] 1. sablon: email a felhasználó számára a linkkel
- sablon: email az új jelszóval
Megrendelés a webshop-ban:
-
sablon: 8-10 fajta levél
-
sablon: 3-4 fajta levél
Mivel a rendszer többnyelvű, többféle levél formátumról van szó és karbantarthatónak illene lennie mindenképpen az adatbázisba érdemes rakni a sablonokat.
Látható, hogy levelenként más és más típusú adatokra van szükség, amik ezek között egészen komplex generált html kódok is lehetnek. Ez azt jelenti, hogy egy adott kontroller, előfordulhat, hogy a sablon egy részét egy másik view-ból fogja generálni.
A levelezéshez a PHPMailer osztályt látom megfelelőnek.
EMail küldő felépítése:
Sablonfájlok a levelek törzsének (body rész, embeded css):
/view/mail_template/sablon_user.php
/view/mail_template/sablon_admin.ph
Adatbázis (nyelvenként, azonosítóként és a megadható címkék)
//database/mail_template
//database/languages
//lang_mail_template
[color="#C0C0C0"] Lásd melléklet![/color]
Felhasználása más kontrollerben (pl. regisztráció)
/controllers/registration
/views/mail_userdata_details
A regisztráció leírása:
-
felhasználó kitölti a regisztrációs űrlapot color="#808080"[/color]
-
a rendszer regisztráció megerősítésére egy emailt küld a felhasználó részére
> - controller/registration.php rendereli a view/registration/mail_user_details.php
> - controller meghívja a modules/mailer.php-t és rendereli az adott nyelv sablonfájlát
> - a controller betölti a levél küldö modult, beálítja a keret_sablont (/view/mail_template/sablon_user.php)
> - a levél küldő modul kicseréli a cimkéket a korábban betöltött adatokra
…
A cimkézéshez a dupla kapcsos zárójelet gondoltam. {{cimke}}
Akkor várom a visszajelzéseiteket, ötleteiteket!