Order Admin Tools
Rendelés kezelést könnyítő segítő kiegészítések, az OpenCart rendeléskezelő felületét egészítik ki. Az Order Status Colors a rendelés listán háttérszínnel jelöli a státuszokat és email cím szerint szűrhetővé teszi a listát. Az Order History Indicator a rendelés részletek oldalán jelzi, ha az ügyfélnek korábbi rendelései is vannak, és megjeleníti a termékek raktári helyét.
Mit csinál?
Rendelés lista (sale/order)
- A státusz-cella háttérszíne státuszonként egyedileg beállítható az admin felületen — kódszerkesztés nélkül.
- A szűrősávban megjelenik egy Email keresőmező — részleges egyezéssel (
LIKE '%…%') keres azoc_order.emailmezőben. - Az összeg szerinti szűrőmező rejtve van (a szűrési logika megmarad, csak az input nem látható).
Rendelés részletek (sale/order/info)
- A Beállítások panelben megjelenik egy sor a kapcsolódó rendelések számával: zöld gomb ha minden rendben, piros gomb ha van köztük negatív státuszú rendelés. Ha nincs más rendelés, a sor nem jelenik meg.
- Regisztrált vásárlóknál
customer_idalapján, vendégeknél email alapján (kis-nagybetű független) keres. Az aktuális rendelést és a 0 státuszút kizárja. - Minden megrendelt termék neve alatt — ha az
oc_product.locationnem üres — kis szürkével megjelenik a termék raktári helye. Csak olvasható, nem szerkeszthető.
Hogyan működik?
Státusz háttérszín – CSS generálás
Az Order Status Colors beállítási oldalán mentéskor a ModelExtensionModuleOrderColors::writeCss() felülírja az admin/view/stylesheet/order_colors.css fájlt. Minden státuszhoz egy CSS sor keletkezik, amely a státusz-cella data-status attribútumát célozza:
td[data-status="Feldolgozás alatt"] { background-color: #fff3cd !important; }
td[data-status="Kiszállítva"] { background-color: #d4edda !important; }
td[data-status="Törölve"] { background-color: #f8d7da !important; }
A data-status attribútumot az OCMOD injektálja az order_list.twig státusz-cellájára (<td>). A CSS fájlt szintén az OCMOD linkeli be a {{ footer }} elé. A színek az oc_setting táblában tárolódnak (module_order_colors_colors kulcs), külön tábla nem keletkezik.
Email szűrő – twig + controller + model OCMOD
Az összeg szűrő mezőt az OCMOD email mezőre cseréli: a label és az input is új értéket kap (name="filter_email"), az eredeti összeg input hidden mezőként marad. Mivel a szűrő gomb JS-sel építi fel az URL-t (nem form submit), az OCMOD a JS blokkba is beilleszt egy sort, amely hozzáfűzi a filter_email paramétert az URL-hez.
A controllerben az OCMOD a $filter_data tömbbe közvetlenül beleírja a filter_email GET paraméter értékét, és visszaadja a twig-nek is (hogy az input megőrizze az értékét lapozáskor). A modellben (getOrders()) a rendezési tömb ($sort_data) elé kerül egy AND o.email LIKE '%…%' WHERE feltétel — ez az egyedi anchor, amely csak a getOrders() függvényben szerepel.
Kapcsolódó rendelések badge – controller + twig OCMOD
Az OCMOD a setOutput hívás elé injektál egy kódblokkot az info() metódusban. Ez betölti az OrderHistoryIndicator modellt, és a getOrderSummary() SQL lekérdezés alapján beállítja a $data['ohi_row'] változót — egy kész <tr> HTML stringként (zöld vagy piros Bootstrap gombbal) vagy üres stringként ha nincs találat. Regisztrált vásárlónál customer_id alapján, vendégnél email alapján keres; az aktuális és a 0 státuszú rendeléseket kizárja. A twig az {{ ohi_row }} változót az invoice sor elé szúrja be.
Termék raktári hely – controller + twig OCMOD
A $data['vouchers'] sor elé injektált foreach ciklus minden termékhez lekéri a location mezőt az oc_product táblából, és hozzáadja a $data['products'] tömb megfelelő eleméhez. A twig OCMOD a {% for option in product.option %} sort lecseréli: ha a location nem üres, egy <small class="text-muted"> elemben megjeleníti a termék neve alatt, az opciók előtt.
1. Fájlok másolása
Másold az upload/ mappa tartalmát az OpenCart gyökérkönyvtárába. Az install.xml az OpenCart gyökérbe kerül (nem az upload/ mappán belül).
| upload/admin/ | |
| ├── controller/extension/module/order_colors.php | — Order Status Colors beállítások oldal |
| ├── controller/extension/module/orderhistoryindicator.php | — Order History Indicator beállítások oldal |
| ├── model/extension/module/order_colors.php | — CSS fájl generálása (writeCss) |
| ├── model/extension/module/orderhistoryindicator.php | — kapcsolódó rendelések SQL lekérdezés |
| ├── view/template/extension/module/order_colors.twig | — színválasztó felület |
| ├── view/template/extension/module/orderhistoryindicator.twig | — negatív státuszok konfigurálása |
| ├── view/stylesheet/order_colors.css | — generált CSS (mentéskor felülíródik, írható legyen) |
| ├── language/en-gb/extension/module/order_colors.php | — angol |
| ├── language/en-gb/extension/module/orderhistoryindicator.php | — angol |
| ├── language/hu-hu/extension/module/order_colors.php | — magyar |
| └── language/hu-hu/extension/module/orderhistoryindicator.php | — magyar |
admin/view/stylesheet/order_colors.css fájlnak írhatónak kell lennie a webszerver számára (ajánlott jogosultság: 644, könyvtár: 755).
2. OCMOD aktiválása
Extensions → Modifications
Admin felületen: Extensions → Modifications menüpont.
Refresh gomb
Kattints a jobb felső sarokban lévő Refresh (fogaskerék) gombra. Ez újraalkalmazza az összes aktív OCMOD-ot, beleértve az install.xml-t is.
system/storage/cache/template/ mappa tartalmát is, különben a twig módosítások nem látszanak.
3. Modulok telepítése
Admin felületen: Extensions → Extensions, majd a típus legördülőből válaszd a Modules lehetőséget. Mindkét modult telepíteni kell:
Order Status Colors – Install
Keresd meg az Order Status Colors sort és kattints a zöld Install ikonra.
Order History Indicator – Install
Keresd meg az Order History Indicator sort és kattints a zöld Install ikonra.
4. Beállítások
Order Status Colors
Edit megnyitása
Az Order Status Colors sor végén kattints az Edit (ceruza) ikonra.
Színek kiválasztása
Minden státuszhoz egy színválasztó jelenik meg. Ha egy státuszhoz nem szeretnél háttérszínt, hagyd fehéren (#ffffff).
Mentés
Mentéskor a modul automatikusan generálja az order_colors.css fájlt. A rendelés lista azonnal az új színekkel jelenik meg.
Order History Indicator
Edit megnyitása
Az Order History Indicator sor végén kattints az Edit (ceruza) ikonra.
Modul engedélyezése
A Status legördülőből válaszd az Enabled értéket.
Negatív státuszok kijelölése
Jelöld be azokat a rendelési státuszokat, amelyek negatívnak számítanak (pl. Cancelled, Denied). Ha ilyen státuszú rendelést talál az ügyfélnél, a badge piros lesz.
Mentés
Kattints a jobb felső sarokban lévő Save gombra.
Fájlszerkezet
| orderhistoryindicator/ | |
| ├── install.xml | — OCMOD manifest (12 operation, 4 core fájl) |
| ├── docs/ | |
| │ ├── orderhistoryindicator-oc3.html | — ez a dokumentáció |
| │ └── docs.css | — stíluslap |
| └── upload/admin/ | |
| ├── controller/extension/module/order_colors.php | — színbeállítás, CSS generálás indítása |
| ├── controller/extension/module/orderhistoryindicator.php | — negatív státuszok konfigurálása |
| ├── model/extension/module/order_colors.php | — writeCss(): CSS fájl generálása |
| ├── model/extension/module/orderhistoryindicator.php | — getOrderSummary(): kapcsolódó rendelések SQL |
| ├── view/template/extension/module/order_colors.twig | — színválasztó felület |
| ├── view/template/extension/module/orderhistoryindicator.twig | — negatív státuszok felület |
| ├── view/stylesheet/order_colors.css | — generált CSS (mentéskor felülíródik) |
| └── language/{en-gb,hu-hu}/extension/module/ | — order_colors.php + orderhistoryindicator.php |
OCMOD – mit módosít?
| Core fájl | Operation | Mit csinál |
|---|---|---|
sale/order_list.twig |
replace | data-status attribútum a státusz <td>-re (CSS szín célzáshoz) |
sale/order_list.twig |
before | order_colors.css belinkelése {{ footer }} elé |
sale/order_list.twig |
replace | Összeg szűrő label + input cseréje Email mezőre; összeg hidden inputra kerül |
sale/order_list.twig |
before | filter_email JS paraméter hozzáfűzése az URL-hez a szűrő gomb click handlerében |
controller/sale/order.php |
after × 2 | filter_email átadása a modellnek ($filter_data) és visszaadása a twig-nek |
controller/sale/order.php |
before | location mező hozzáadása $data['products'] minden eleméhez |
controller/sale/order.php |
before | $data['ohi_row'] kiszámítása (badge HTML) setOutput előtt |
model/sale/order.php |
before × 1 | Email LIKE WHERE feltétel a getOrders()-ben (anchor: $sort_data) |
sale/order_info.twig |
before | {{ ohi_row }} badge sor az invoice sor elé |
sale/order_info.twig |
replace | Termék location megjelenítése a termék neve alatt, opciók előtt |
Hibaelhárítás
Nem jelennek meg a háttérszínek
- Ellenőrizd az OCMOD állapotát: Extensions → Modifications — az Order History Indicator legyen zöld. Ha nem, futtasd a Refresh-t.
- Töröld a Twig cache-t:
system/storage/cache/template/mappa ürítése. - Ellenőrizd az
admin/view/stylesheet/order_colors.csstartalmát — ha üres, a mentés nem írta felül (jogosultsági probléma: fájl legyen644). - A státusz neve kulcsként szerepel a CSS selectorban. Ha az admin felület más nyelven van mint amin a státuszok generálódtak, a CSS nem egyezik.
Az email szűrő nem szűr
- Ellenőrizd hogy az OCMOD Refresh lefutott-e és a cache törölve lett-e.
- A szűrés az
oc_order.emailmezőben keres — guest és regisztrált rendeléseknél egyaránt.
A kapcsolódó rendelések badge nem jelenik meg
- Ellenőrizd hogy az Order History Indicator modul Enabled státuszra van-e állítva.
- Ha az ügyfélnek tényleg nincs más rendelése (count = 0), a sor szándékosan nem jelenik meg.
Mindig piros a badge
- Ellenőrizd a beállításokban a negatív státuszok listáját — ha egy státusz sincs kijelölve, soha nem lesz piros.
system/storage/cache/template/ törlése. A böngésző DevTools-ban (F12) ellenőrizd, hogy a státusz-cellán megjelenik-e a data-status attribútum, és hogy az értéke egyezik-e a generált CSS selectorral.
Változásnapló
| Verzió | Dátum | Változás |
|---|---|---|
| 2.0.0 | 2026-04-07 | Order Status Colors integrálva: státusz háttérszín OCMOD alapon (td[data-status] selector), email szűrő a rendelés listán, összeg szűrő elrejtve. Egységes csomag, egyetlen install.xml. |
| 1.1.0 | 2026-04-06 | Termék location mező megjelenítése a rendelés részleteken. OCMOD: twig replace + controller foreach. |
| 1.0.0 | 2026-04-05 | Első kiadás. Kapcsolódó rendelések badge (zöld/piros). OCMOD: twig injection + controller injection. Negatív státuszok konfigurálhatók. |