Felhasználói eszközök

Eszközök a webhelyen


spec:woocommerce

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
Következő változat
Előző változat
spec:woocommerce [2020/07/31 17:10] – [Termék képek] csetomspec:woocommerce [2022/03/09 13:45] (aktuális) – Woocommerce szinkronizáció és feltöltés közti különbség csetom
Sor 9: Sor 9:
  
   * Woo->eVIR mező megfeleltetések: (WP/Woo -> eVIR)   * Woo->eVIR mező megfeleltetések: (WP/Woo -> eVIR)
-    * Mezők:+    * Mezők: //(default woo-ban)//
       * name -> megnevezes       * name -> megnevezes
       * slug ->       * slug ->
-      * date_created -> +      * date_created(read-only) -> 
-      * date_modified -> +      * date_modified(read-only) -> 
-      * type -> "simple" +      * type -> "simple" //(simple)// 
-      * status -> "publish" +      * status -> "publish" //(publish)// 
-      * catalog_visibility -> "visible" +      * catalog_visibility -> "visible" //(visible)// 
-      * description -> termék tulajdonságból a leírás, valamint a többi terméktulajdonság is név:érték formában, HTML formázással, valamint a cikkszám is. +      * description -> termék tulajdonságból a leírás, valamint a többi terméktulajdonság is név:érték formában, HTML formázással, valamint a cikkszám is.  
-      * short_description -> termék tulajdonságból csak a leírás+      * short_description -> termék tulajdonságból csak a leírás 
       * sku -> cikkszam       * sku -> cikkszam
-      * price -> beállított árkategória szerinti ár+      * price (Read only) -> beállított árkategória szerinti ár 
       * regular_price -> beállított árkategória szerinti ár       * regular_price -> beállított árkategória szerinti ár
       * sale_price -> beállított árkategóriához tartozó akciós árkategória szerinti ár       * sale_price -> beállított árkategóriához tartozó akciós árkategória szerinti ár
-      * on_sale -> webshop akcios +      * on_sale(read-only)-> webshop akcios 
-      * virtual -> termék esetén false, szolgáltatás esetén true +      * virtual -> termék esetén false, szolgáltatás esetén true //(false)// 
-      * tax_status -> "taxable" +      * tax_status -> "taxable"  //(taxable)// 
-      * manage_stock -> webshop beállítás szerint+      * manage_stock -> webshop beállítás szerint //(false)//
       * stock_quantity -> webshop beállítás szerint       * stock_quantity -> webshop beállítás szerint
-      * stock_status -> webshop beállítás és készlet infó szerint +      * stock_status -> webshop beállítás és készlet infó szerint //(instock)// 
-      * sold_individually -> "true"+      * sold_individually -> "true" //(false)//
       * weight -> cikktörzsben a bruttó súly        * weight -> cikktörzsben a bruttó súly 
-      * dimensions -> cikktörzsben is átalakítani egy mező helyett 3-ra+      * dimensions -> cikktörzsben: 
-        * length ->  +        * length -> hosszusag 
-        * width ->  +        * width -> szelesseg 
-        * height -> +        * height -> magassag
       * upsell_ids -> a kapcsolódó termékek       * upsell_ids -> a kapcsolódó termékek
       * cross_sell_ids -> a helyettesítő termékek       * cross_sell_ids -> a helyettesítő termékek
Sor 43: Sor 43:
  
 ==== Készlet ==== ==== Készlet ====
-  * eVIR: "Nem látszik a webshopban"+  * eVIR: "Nem látszik a webshopban" (hidden)
     * Nincs tennivaló, az ilyen terméket nem is szinkronizáljuk     * Nincs tennivaló, az ilyen terméket nem is szinkronizáljuk
-  * eVIR: "Végtelen mennyiség"+  * eVIR: "Végtelen mennyiség" (vegtelen)
     * manage_stock -> "false"     * manage_stock -> "false"
     * stock_status -> "instock"     * stock_status -> "instock"
-  * eVIR: "Rendelhető"+  * eVIR: "Rendelhető" (rendelheto)
     * manage_stock -> "false"     * manage_stock -> "false"
     * stock_status -> "instock"     * stock_status -> "instock"
     * stock_quantity -> a raktáron levő mennyiség     * stock_quantity -> a raktáron levő mennyiség
     * backorders -> "yes"     * backorders -> "yes"
-  * eVIR: "Kifutó"+  * eVIR: "Kifutó"(kifuto)
     * manage_stock -> "true"     * manage_stock -> "true"
     * stock_status -> "instock" ha van raktáron. Ha nincs, akkor a termék láthatóságát kell kikapcsolni     * stock_status -> "instock" ha van raktáron. Ha nincs, akkor a termék láthatóságát kell kikapcsolni
     * stock_quantity -> a raktáron levő mennyiség     * stock_quantity -> a raktáron levő mennyiség
     * backorders -> "no"     * backorders -> "no"
-  * eVIR: "Csak készleten levő"+  * eVIR: "Csak készleten levő" (Csak készleten)
     * manage_stock -> "true"     * manage_stock -> "true"
     * stock_status -> "instock" vagy "outofstock" attól függően, hogy van-e készleten     * stock_status -> "instock" vagy "outofstock" attól függően, hogy van-e készleten
     * stock_quantity -> a raktáron levő mennyiség     * stock_quantity -> a raktáron levő mennyiség
     * backorders -> "no"     * backorders -> "no"
-  * eVIR: "Mennyiség mutatása"+  * eVIR: "Mennyiség mutatása" (rakt_menny)
     * manage_stock -> "false"     * manage_stock -> "false"
     * stock_status -> "instock" vagy "outofstock" készlettől függően     * stock_status -> "instock" vagy "outofstock" készlettől függően
Sor 78: Sor 78:
 ==== Termék kategóriák ==== ==== Termék kategóriák ====
   * Woo mezők:   * Woo mezők:
-    * name -> a kategória neve +    * id -> kötelező mező kategória termékhez rendeléséhez. 
-    * slug -> a kategória neve+    * name -> a kategória neve. (Levágja a szóközöket, ha több jön egymás után) 
 +    * slug -> a kategória neve (nincs ékezet, szóközből '-'
     * parent -> a szülő kategória     * parent -> a szülő kategória
     * description -> a kategória neve     * description -> a kategória neve
     * display -> "default"     * display -> "default"
 +
 +Kategóriák kapcsolótáblába rendezése:
 +  * woocommerce_product_categories:
 +    * cikk_kategoria_id -> evir oldali id
 +    * product_category_id -> woocommerce oldali id
 +  * Tervezve van hogy ha tobb webshop lesz, akkor ez bovul vagy lecserelesre kerul. 
  
 ==== Termék képek ==== ==== Termék képek ====
Sor 98: Sor 105:
     * alt -> megegyezik a wp.alt_text-el -> a cikk megnevezése     * alt -> megegyezik a wp.alt_text-el -> a cikk megnevezése
   * Ugyan ide ugyan ilyen módon kell feltölteni a termékhez rendelt dokumentumokat is, csak ott értelemszerűen nem képekről van szó   * Ugyan ide ugyan ilyen módon kell feltölteni a termékhez rendelt dokumentumokat is, csak ott értelemszerűen nem képekről van szó
 +        
  
 +----
 +==== Rendelés ====
 +**Rendelés adatok**
  
 + 
  
 +  * Mezők: (default woo-ban)
 +    * id -> Webshop id
 +    * parent_id 
 +    * number -> hivatkozás
 +    * order_key 
 +    * created_via
 +    * version
 +    * status 
 +    * currency -> pénznem
 +    * date_created 
 +    * date_created_gmt -> Rendelés dátuma (rend_datum)
 +    * date_modified
 +    * date_modified_gmt
 +    * discount_total -> Teljes engedmény (bruttó)
 +    * discount_tax
 +    * shipping_total -> Teljes szállítási költség (bruttó)
 +    * shipping_tax
 +    * cart_tax 
 +    * total
 +    * total_tax
 +    * prices_include_tax
 +    * customer_id
 +    * customer_ip_address
 +    * customer_user_agent
 +    * customer_note
 +    * billing -> Partner elsődleges címe  (ld. lentebb)
 +    * shipping -> Partner szállítási címe (ld. lentebb)
 +    * payment_method -> Fizetési mód
 +    * payment_method_title
 +    * transaction_id
 +    * date_paid 
 +    * date_paid_gmt
 +    * date_completed
 +    * date_completed_gmt
 +    * cart_hash
 +    * meta_data:
 +      * evir_rendeles -> Evir rendelés szám. Mi írjuk bele, rendelés sikeres letöltése után.
 +      * //HuCommerce plugin esetén//:
 +        * _billing_tax_number-> adószám.
 +    * line_items
 +    * tax_lines 
 +    * shipping_lines
 +      * method_title->Szállítási költség megjegyzésbe rakjuk.
 +    * 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 ==== ==== Adatoknak a kategorizálása ====
  
Sor 116: Sor 230:
   * tulajdonságok   * tulajdonságok
     * Ami a cikk tulajdonságok, ide értendőek a descriptionok is     * 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   * képek
   * dokumentumok   * dokumentumok
Sor 123: Sor 239:
   * szinkronizálá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. 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 ==== ==== Feltöltés ====
Sor 129: Sor 251:
   * 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.   * 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.
  
-==== Szinkronizálás ==== +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.  
-szinkronizálás célja az utolsó szinkronizálás óta változott adatok **gyors** felküldése shopbaEzek műveletek akár pár percenként is lefuthatnak, ezért kritikus leggyorsabb futásra és a legkevesebb erőforrás használatra való optimalizálás+ 
-  * alapadatok esetében cikk modify_date-je alapján lehet + 
-  * készlet esetén az eVIR belső auditja alapján érintett termékeknél +==== Egyedi szinkronizálás ==== 
-  árak esetén is a modify_date esetén + 
-Előfordulhathogy mondjuk napi időzítéssel (de külön-külön) mehetnek képek és dokumentumokcikk kategóriák szinkronizálása isEbben az esetben nem lesz gyorsmivel csak összehasonlítás alapon lehet megcsinálniazaz le kell tölteni teljes listát Woo-bólösszehasonlítani az eVIR-ben levővel, és csak változásokat feltölteni.+Az egyedi szinkronizálás esetében a felhasználó maga rakja össze, hogy mely adatok kerüljenek szinkronizálásra webshopbaEz jelenleg cikkekre van megírva.  
 +A ''Szinkronizálások/Szinkron beállítás'' menüpontban a''Hozzá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ő tartozikKét féle mező fajta van: 
 +  * Igen/Nem: Vagyis szinkronizálni akarom 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ásbanakkor 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 webshopbanakkor az feltöltésre kerülA név ebben az esetben mindenképp feltöltésre kerülbá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 alattahol 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 szinkrona 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 szinkronizálandó mezőket 
 + 
 +A ''Cikk alapértelmezett szinkronizálás'' menüpont a [[evir:rendszer:beallitasok:woocommerce|Woocommerce beállítások]]-ban beállított egyedi szinkronizálást fogja lefuttatni, a fentiek alapján leírt módon. 
  
 ---- ----
Sor 150: Sor 285:
  
  
 +
 +----
 +
 +
 +==== Összes termékkategória törlése ====
 +<code>
 +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'
 +</code>
 +
 +==== Összes termék törlése mindenestül ====
 +<code>
 +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';
 +</code>
  
  
spec/woocommerce.1596208236.txt.gz · Utolsó módosítás: 2020/07/31 17:10 szerkesztette: csetom