fee_lines → Extra költségek. Az extra költségnek beállított cikszámot rárakjuk a rendelésre
total→ szolgáltatás.netto
name→ szolgáltatás.megjegyés
coupon_lines
refunds
set_paid
Partner adatok rendelésen
Billing, elsődleges cím
Személy:
first_name → Keresztnév
last_name → Vezetéknév
Cég:
company → Cégnév
address_1 → cím első sora
address_2 → cím második sora
city → Város
state
postcode → Irányítószám
country → országkód
email → emailcím, csak egy van (regisztrációs adat)
phone → telefonszám
HuCommerce plugin megléte esetén:
order
metadata
_billing_tax_number → adoszám
Megjegyzés:
Ha van cégnév, akkor a vezeték és keresztnevet nem vesszük figyelembe, és cégként rögzítjük a partnert.
A cím sorait egymás után fűzzük szóközzel. Max 60 karakter, ha több vágunk.
Ha van HuCommerce plugin felrakva, ami ad adószám mezőt a címhez, akkor elsőször az alapján próbáljuk meg beazonosítani a partnert.
Utána, vagy ha nincs adoszám mező, akkor email-cím alapján keressük meg a partnert.
Ha nincs, akkor rögzítünk egy új partnert.
Shipping, szállítási cím
Személy:
first_name → Keresztnév
last_name → Vezetéknév
Cég:
company → Cégnév
address_1 → cím első sora
address_2 → cím második sora
city → Város
state
postcode → Irányítószám
country → országkód
Megjegyzés:
Csak akkor foglalkozunk a 'shipping address'-el, ha ki lett töltve rendeléskor.
Megpróbáljuk beazonosítani a szállítási címet a partnerhez.
Ha nincs akkor létrehozzuk, mint szállítási cím.
Használjuk a rendeléshez, mint szállítási címként.
Adatoknak a kategorizálása
Az adatokat kategóriákba lehet sorolni:
alapadatok:
ez a cikkszám, megnevezés, áfa, tipus
készletkezelés
kezelés módja (manage_stock és kapcsolódó mezők)
ár mezők:
price mezők, on_vale
kategória
cikk kategóriák és a hierarchiája
tulajdonságok
Ami a cikk tulajdonságok, ide értendőek a descriptionok is
A cikk egyebb adatai, ami nem alapadat, mint meret, suly, stb.
milyen elsődleges (és majd további másodlagos) termékkategóriákba van besorolva,
képek
dokumentumok
Minden egyes kategóriának kell lennie:
feltöltés
szinkronizálás
műveleteknek, amelyeket a felületről el kell tudni érni, valamint biztosítani kell az időzített futtathatóságot. Ez egyelőre cron-ból hívott tokenes lekérés lesz, de a jövőben változik.
Szinkronizálás
A szinkronizálás célja az utolsó szinkronizálás óta változott adatok gyors felküldése a shopba. Ezek a műveletek akár pár percenként is lefuthatnak, ezért kritikus a leggyorsabb futásra és a legkevesebb erőforrás használatra való optimalizálás. Amennyiben a szinkronizáció nem végzett a termékekkel 1 percen belül, úgy háttérben folytatja a műveletet.
alapadatok és árak esetében a cikk modify_date-je alapján lehet
készlet esetén az eVIR belső auditja alapján érintett termékeknél
Előfordulhat, hogy mondjuk napi időzítéssel (de külön-külön) mehetnek a képek és dokumentumok, cikk kategóriák szinkronizálása is. Ebben az esetben nem lesz gyors, mivel csak összehasonlítás alapon lehet megcsinálni, azaz le kell tölteni a teljes listát Woo-ból, összehasonlítani az eVIR-ben levővel, és csak a változásokat feltölteni.
Feltöltés
A feltöltés célja kettős:
A rendszer indulásakor feltölteni az eVIR-ből a webshopba az adatokat
Az üzemeltetés során bármikor „alaphelyzetbe” hozni az adatokat, azaz a webshopban történt elállítgatásokat helyrehozni, visszaállítani abba az állapotba, amiről az eVIR tud. Feltöltés esetén NEM vizsgálunk semmit, nem függ semmitől semmi, egyszerűen fel kell tölteni az adatokat a webshopba. Ha szükséges az ütközés miatt, akkor lehet előtte törölni, vagy bármit csinálni, de akkor is feltétel nélkül az eVIR-ben levő állapotra kell beállnia minden mező minden értékének. Ez a művelet jellemzően egyszer vagy nagyon ritkán (hetente, havonta?) fog lefutni. Nem az a lényeg, hogy mennyi idő alatt fut le, hanem hogy lefusson és erről visszajelzés érkezzen.
A feltöltést jelenleg a cikkek esetében a módosítási dátum legkorábbira állítása, és egy szinkronizáció futtatásával érjük el.
Egyedi szinkronizálás
Az egyedi szinkronizálás esetében a felhasználó maga rakja össze, hogy mely adatok kerüljenek szinkronizálásra a webshopba. Ez jelenleg a cikkekre van megírva.
A Szinkronizálások/Szinkron beállítás menüpontban aHozzáad gomb megnyomásával lehet új egyedi szinrkonizálást létrehozni. A cikkhez tartozó szinkronizálható mezők fel vannak sorolva, mindegyikhez egy legördülő tartozik. Két féle mező fajta van:
Igen/Nem: Vagyis szinkronizálni akarom a mezőt vagy sem.
Az adott mezőhöz egy termék tulajdonság rendelhető hozzá, mely ha be van állítva a cikkhez, akkor az nem mint tulajdonság, hanem a kiválasztott mezőhöz kerül feltöltésre.
FONTOS:
Ha egy tulajdonság mezőként be van állítva egy szinkronizálásban, akkor az a tulajdonság nem kerül Woocommerce attribute-ként feltöltésre semelyik másik esetben sem.
Ha van új cikk, amely még nem szerepel a webshopban, akkor az feltöltésre kerül. A név ebben az esetben mindenképp feltöltésre kerül, bármi is legyen beállítva az egyedi szinkronizálásban.
Ezeket a szinkronizálásokat ugyan itt lehet futtatni a Szinkronizálások/Szinkron beállítás menüpont alatt, ahol az összes egyedi szinkronizálás megtalálható és látható mikor volt utoljára futtatva (note: Ez itt téves infó. Nem az látható mikor volt utoljára futtatva, noha azt is látni kéne, hanem azt, hogy meddig jutott el a szinkron, a termék módosítási ideje). A Szinkronizálás gombbal az összes utolsó szinkronizálási időpont után modósult terméket szinkronizálja, míg az Összes termék szinkronizálása gomb megnyomásával beállítja ezt az időpontot a legkorábbira, és az összes cikket szinkronizálja.
A Szerkesztés gombbal módosítani tudjuk a szinkronizálandó mezőket.
A Cikk alapértelmezett szinkronizálás menüpont a Woocommerce beállítások-ban beállított egyedi szinkronizálást fogja lefuttatni, a fentiek alapján leírt módon.
Több WooCommerce shop támogatása
Távlati terv lett volna, de akkor hozzuk előre: több webshop (benne akár több woocommerce) támogatása. Ez azt jelenti, hogy multiplicitást kell adni azoknak a mezőknek, amelyek shoponként különbözőek lehetnek:
webshop beállítás
webshop akciós
webshop árkategória
webshop raktár
webshoponként a termék kategóriák beállítása
webshoponként az alapadatok (URL, user, pass, stb.)
A jelenlegi beállítások akár madahatnak is a helyükön és azok dedikáltan az eVIR saját webshopjára vonatkozzanak, és ezek az extrák legyenek külön feltüntetve, külön állítgathatóan.
Összes termékkategória törlése
DELETE a,c FROM wp_terms AS a
LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id
LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
WHERE c.taxonomy = 'product_cat'
Összes termék törlése mindenestül
DELETE relations.*, taxes.*, terms.*
FROM wp_term_relationships AS relations
INNER JOIN wp_term_taxonomy AS taxes
ON relations.term_taxonomy_id=taxes.term_taxonomy_id
INNER JOIN wp_terms AS terms
ON taxes.term_id=terms.term_id
WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product');
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product');
DELETE FROM wp_posts WHERE post_type = 'product';