Email Sablon Szerkesztő
Admin felületen szerkeszthető rendelési email sablonok – fájlrendszeri hozzáférés vagy kódszerkesztő nélkül. A modul lehetővé teszi a rendelés-visszaigazoló és a rendelési státuszváltozás emailek Twig sablonjainak közvetlen módosítását az OpenCart admin paneljéből. Figyelem csak hozzáértés esetén használd!
Mit csinál?
A kiegészítő egy admin felületi szerkesztőt ad az OpenCart bővítmények menüjébe, amellyel két email sablon szerkeszthető közvetlenül a böngészőből:
- Rendelés visszaigazolás (
order_add.twig) – a vásárlás után automatikusan kiküldött email, amely tartalmazza a teljes rendelési összeírást: termékek, mennyiségek, árak, szállítási és fizetési adatok, összesítők. - Rendelési státuszváltozás (
order_edit.twig) – az admin által manuálisan kiváltott státuszváltáskor küldött email, amely státuszonként eltérő üzenetet jelenít meg (pl. Feldolgozott, Csomag elkészítve, Rendelés átvehető, Elállás stb.).
A mentett tartalom azonnal érvényes: a következő kiküldött email már a módosított sablont használja. Nincs adatbázis, nincs cache – a modul közvetlenül a szerveren lévő .twig fájlokat írja.
Hogyan működik?
Sablon betöltése
Az admin felület megnyitásakor a controller a file_get_contents() függvénnyel beolvassa mindkét .twig fájl tartalmát a szerverről, és átadja a nézetnek. A fájlok elérési útja a controlleren belül van rögzítve, relatívan az OpenCart gyökérkönyvtárához képest.
Szerkesztés az adminban
A sablon HTML forrása két fülön (Rendelés visszaigazolás / Státuszváltozás) szerkeszthető <textarea>-ban jelenik meg, monospace betűtípussal. A szerkesztő nyers HTML + Twig forrást mutat – a változók ({{ order_id }}, {% if order_status == ... %} stb.) itt szövegesen láthatók és szerkeszthetők.
Mentés és validáció
Mentéskor a controller ellenőrzi, hogy a felhasználónak van-e modify jogosultsága az extension/module/email_editor erőforrásra, és hogy a célfájlok írhatók-e (is_writable()). Ha mindkét feltétel teljesül, a file_put_contents() a POST tartalmát közvetlenül a fájlba írja. Hibás jogosultság esetén hibaüzenet jelenik meg, mentés nem történik.
Email kiküldés
Amikor az OpenCart rendelési emailt küld, a Twig engine rendereli a módosított sablonfájlt az aktuális rendelési adatokkal (változók: order_id, order_status, products, totals stb.). A kimenet HTML email törzseként kerül kiküldésre – feltéve, hogy az OpenCart mail controllerben a setHtml() hívás van beállítva (lásd: Core kód módosítása).
Követelmények
| Komponens | Verzió | Státusz |
|---|---|---|
| OpenCart | 3.0.x | ✔ Kompatibilis |
| PHP | 8.x | ✔ Kompatibilis |
| Fájlírási jog | – | ✔ A webszerver folyamatának írási jogosultsággal kell rendelkeznie a két .twig fájlra |
Telepítés
1. lépés – Fájlok másolása
Másold az upload/ mappa tartalmát az OpenCart gyökérkönyvtárába:
| upload/ | |
| ├── admin/controller/extension/module/ | |
| │ └── email_editor.php | Admin controller – betöltés, mentés, jogosultságellenőrzés |
| ├── admin/language/en-gb/extension/module/ | |
| │ └── email_editor.php | Angol nyelvfájl |
| ├── admin/language/hu-hu/extension/module/ | |
| │ └── email_editor.php | Magyar nyelvfájl |
| ├── admin/view/template/extension/module/ | |
| │ └── email_editor.twig | Admin felület sablonja – két fül, textarea szerkesztők |
| └── catalog/view/theme/default/template/mail/ | |
| ├── order_add.twig | Rendelés-visszaigazoló email sablonja |
| └── order_edit.twig | Rendelési státuszváltozás email sablonja |
order_add.twig és order_edit.twig fájlokról.
2. lépés – Modul aktiválás az adminban
Telepítés
Admin → Bővítmények → Bővítmények → Típus: Modulok → keresed az Email Sablon Szerkesztő bejegyzést → kattints a Telepítés (zöld +) gombra.
Szerkesztő megnyitása
A telepítés után a modul megjelenik a bővítmények listájában. A Szerkesztés gombra kattintva megnyílik a sablon szerkesztő felület két füllel.
Jogosultság beállítása
Ha más adminisztrátori fióknak is hozzáférést szeretnél adni: Admin → Rendszer → Felhasználók → Felhasználói csoportok → a megfelelő csoportnál add hozzá az extension/module/email_editor erőforrást mind az Elérési jogosultság, mind a Módosítási jogosultság listához.
3. lépés – Core kód módosítása (kötelező az order_edit HTML emailhez)
Az OpenCart alapértelmezés szerint az order_edit státuszváltozás emailt plain text formátumban küldi ki. Ez azt jelenti, hogy a sablon HTML tag-jei (<p>, <strong> stb.) nyers szövegként jelennek meg a vevőknél. A javításhoz egy sort kell módosítani az OpenCart mail controllerében.
Keresd meg a fájlban az order_edit sablont betöltő részt (keress rá: order_edit), és változtasd meg a setText hívást setHtml-re:
$mail->setText($this->load->view('mail/order_edit', $data));
$mail->setHtml($this->load->view('mail/order_edit', $data));
setText() hívás Content-Type: text/plain emailt eredményez. Ilyen esetben a HTML sablon tartalma renderelés nélkül, nyers szövegként kerül kiküldésre – a vevő a HTML tag-eket látja. A setHtml() text/html típusú emailt küld, amelyet az email kliensek renderelnek.
Hibaelhárítás
A státuszváltozás email nyers HTML tag-eket tartalmaz
- A
catalog/controller/mail/order.phpfájlban mégsetText()van beállítvasetHtml()helyett – lásd a Core kód módosítása lépést.
Mentéskor „A fájl nem írható" hibaüzenet jelenik meg
- A webszerver folyamata (pl.
www-data) nem rendelkezik írási jogosultsággal acatalog/view/theme/default/template/mail/mappára vagy a fájlokra. - Javítás:
chmod 664 order_add.twig order_edit.twiga szerveren, vagy állítsd be a megfelelő tulajdonost.
A szerkesztő felület nem töltődik be / Twig hiba
- Ellenőrizd, hogy az
admin/view/template/extension/module/email_editor.twigfájl sikeresen másolódott-e a szerverre. - Töröld az OpenCart template cache-t: Admin → Dashboard → fogaskerék ikon → Refresh.
A modul telepítése után nem látható a szerkesztő link
- A felhasználói csoportnak hiányzik az
extension/module/email_editorjogosultsága – lásd a Modul aktiválás 3. lépését.
Fájlszerkezet
| order-status-email-editor/ | |
| ├── docs/ | |
| │ ├── email-editor-oc3j3.html | Ez a dokumentáció |
| │ └── docs.css | Közös stíluslap |
| └── upload/ | |
| ├── admin/controller/extension/module/ | |
| │ └── email_editor.php | Fő controller: betöltés, mentés, jogosultságellenőrzés, breadcrumb |
| ├── admin/language/en-gb/extension/module/ | |
| │ └── email_editor.php | Angol nyelvfájl (feliratok, hibaüzenetek) |
| ├── admin/language/hu-hu/extension/module/ | |
| │ └── email_editor.php | Magyar nyelvfájl (feliratok, hibaüzenetek) |
| ├── admin/view/template/extension/module/ | |
| │ └── email_editor.twig | Admin felület: két fül, textarea szerkesztők, mentés/mégsem gombok |
| └── catalog/view/theme/default/template/mail/ | |
| ├── order_add.twig | Rendelés-visszaigazoló email (teljes HTML, termékek táblázata, összesítők) |
| └── order_edit.twig | Státuszváltozás email (státuszonként eltérő üzenet, {% if order_status %} blokkok) |
Változásnapló
| Verzió | Dátum | Változás |
|---|---|---|
| 1.0 | 2026-04-01 | Első kiadás. Admin felületi szerkesztő order_add.twig és order_edit.twig sablonokhoz. PHP 8.0/8.1 kompatibilis, OpenCart 3.0.x. |