Youmood: differenze tra le versioni
| (46 versioni intermedie di 2 utenti non mostrate) | |||
| Riga 1: | Riga 1: | ||
== Info == | == Info == | ||
https://www.youmood.it/ | https://www.youmood.it/ e https://staging.youmood.it | ||
Dobbiamo sostituire il loro plugin per Easy Store con il nostro. | Dobbiamo sostituire il loro plugin per Easy Store con il nostro. | ||
== Dati Accesso == | |||
== | <pre> | ||
https://www.keliweb.it/ | |||
e7510753@gmail.com | |||
Keliweb777 | |||
CPANEL -> https://www.youmood.it:2083/ | |||
youmood | |||
n72v2p32g3a11as544an4a | |||
old - c9ZkJxuo?7Ay | |||
WHM -> https://www.youmood.it:2087/ | |||
root | |||
oEY&b(mOE88f | |||
WP-ADMIN: | |||
elena | |||
n72v2p32g3a11as544an4a | |||
staging -> E58K!!K1kkMVI@4Og2G0bh)R | |||
FTP: | |||
youmood-wm@youmood.it | |||
CzFX7-hkLi1_ivEBrrpLwy | |||
</pre> | |||
== STAGING == | |||
Modificare file hosts | |||
<pre> | |||
# YOUMOOD - hosts per staging | |||
194.76.119.32 staging.youmood.it | |||
</pre> | |||
== Database == | |||
<pre> | |||
Database: | |||
PROD -> youmood_db | |||
STAGING -> youmood_wp_dhwot | |||
</pre> | |||
=== ESW === | |||
Dati di connessione a ESW | |||
Listini -> webgallery TRUE | |||
Giacenza -> Tutte senza filtro webgallery | |||
<pre> | <pre> | ||
db_connection: 61_SIGI -> PROD | |||
db_connection: 61_SIGI_TEST -> TEST | |||
codice negozio: 05 | |||
codice magazzino: CD_MAG_35 | |||
codicevenditore : VEN94050 | |||
incassi-codice_causale : 05SLD | |||
servizi-codice: T | |||
mapping-pagamenti" => ["bacs" => "BON","xpay"=> " POS2"] | |||
esw_api-domain => https://easyapi5.eswportal.it | |||
X-ApiKey: T1QiKxIUMEqL5BTQ59wc4EJ4YWJHWlY4N1VTTWYwM2NRZUZOSmc= | |||
EndPoint Test | |||
listino -> https://easyapi5.eswportal.it/api/v1/61_SIGI_TEST/listini/azienda/05?webgallery=true | |||
giacenze -> https://easyapi5.eswportal.it/api/v1/61_SIGI_TEST/giacenze/azienda/05?webgallery=false | |||
EndPoint PROD | |||
listino -> https://easyapi5.eswportal.it/api/v1/61_SIGI/listini/azienda/05?webgallery=true | |||
giacenze -> https://easyapi5.eswportal.it/api/v1/61_SIGI/giacenze/azienda/05?webgallery=false | |||
</pre> | |||
== Nostro plugin Import da ESW == | |||
=== Cosa fa === | |||
Importa prodotti dal Listino ESW segnati come <code>webgallery true</code> e dalle giacenze dai seguenti magazzini: | |||
Se prodotto da importare non è presente su Woocommerce importo tutto da ESW tranne le immagini. | |||
Se prodotto già importato aggiorno: | |||
* prezzo | |||
* prezzo scontato | |||
* regular price | |||
* quantità | |||
* attributi (larghezza, altezza, ecc...) | |||
* setto cmq attributo locale '''Prodotto Easy Store''' | |||
'''Attributi Modello, Dimensioni e Colori''': | |||
Vengono creati splittando il codice SKU del prodotti di ESW | |||
''' Categorie ''' | |||
Recuperata e generata la gerarchia da ESW, nel caso di errore viene segnato il prodotto nella categorie Outlet. | |||
''' Import programmato ''' | |||
Ogni giorno alle 8:00 e 20:00 (valori indicativi). | |||
=== Richieste === | |||
Causa incongruenze prezzi tra listino e giacenze, prendiamo sempre i campi: | |||
* prezzo_ic / 1.22 | |||
* prezzo_scontato_ic / 1.22 | |||
* listino_ic / 1.22 | |||
== ATTRIBUTI WOOCOMMERCE old plugin== | |||
<p>Erano già presenti degli attributi con valori settati:</p> | |||
WooCommerce Attributi: | |||
<pre> | |||
Altezza | |||
Brand | |||
Codice Fornitore | |||
Collezione -> vuota | |||
Colore | |||
Dimensione -> da capire da ESW che campo prende | |||
Fornitore | |||
Larghezza | |||
Lunghezza | |||
Modello -> da capire | |||
Peso_unit | |||
Stile -> CONTEMPORANEO, MODERNO | |||
Vari -> loro settaggi tipo Black Week | |||
Volume | |||
</pre> | |||
== PASSI == | |||
=== Da fare === | |||
* Prendere prodotti listino webgallery true e giacenze di un magazzino. | |||
* Nome prodotto da estrapolare dallo SKU -> N_ | |||
* Categoria prodotto da ESW listino categorie -> | |||
** "art_area": "TAVOLI E SEDIE", | |||
** "art_categoria": "TAVOLI ALLUNGABILI", | |||
** "art_sottocategoria": "", | |||
=== Colori === | |||
* C'è un hook che viene chiamato ad ogni cambio di stato di un prodotto (Bozza -> pubblicato o Pubblicato -> cestino). | |||
* Codice eseguito solo in caso di cambio stato del prodotto. | |||
* Viene mandata mail di Debug a info@infocurci.com, con ID prodotto (wordpress) status vecchio + status nuovo. | |||
* Recupera lo SKU del prodotto, ripulito, rimuovendo suffissi tipo -C_qualcosa | |||
* Cerca i prodotti salvati con lo stesso SKU ripulito | |||
<syntaxhighlight lang="sql"> | |||
SELECT p.ID,tt.term_id, p.ID as post_id, t.name as color_name, p.post_status | |||
FROM wp_posts p | |||
left join wp_term_relationships tr on (tr.object_id=p.ID) | |||
join wp_term_taxonomy tt on (tt.term_taxonomy_id=tr.term_taxonomy_id and tt.taxonomy="pa_colore") | |||
join wp_terms t on (t.term_id=tt.term_id), wp_postmeta pm | |||
WHERE | |||
p.ID = pm.post_id | |||
and p.post_type="product" | |||
and pm.meta_key="_sku_ripulito" | |||
and pm.meta_value = "codice_sku_ripulito" | |||
order by tr.term_order | |||
</syntaxhighlight> | |||
* Per ciascun prodotto trovato: | |||
** Se lo stato è publish, costruisce un array con: | |||
*** post_id | |||
*** color_name (nome del termine colore) | |||
*** term_id | |||
Eventuale immagine associata al colore tramite ACF (get_field('color_image', 'pa_colore_' . $color->term_id)), ridimensionata con nova_resize_thumbnail. | |||
ESEMPIO: | |||
<pre> | |||
REFPOL-N_SONORA-C_VERDE-D_-V_ | |||
REFPOL-N_SONORA-C_CREMA-D_-V_ | |||
REFPOL-N_SONORA-C_GRIGIO-D_-V_ | |||
OTSALL-N_CLAVIUS-C_GRIGIO-D_180-V_ | |||
OTSALL-N_CLAVIUS-C_BIANCO-D_180-V_ | |||
OTSALL-N_CLAVIUS-C_BEIGE-D_180-V_ | |||
</pre> | </pre> | ||
Versione attuale delle 16:40, 24 set 2025
Info
[modifica]https://www.youmood.it/ e https://staging.youmood.it
Dobbiamo sostituire il loro plugin per Easy Store con il nostro.
Dati Accesso
[modifica]https://www.keliweb.it/ e7510753@gmail.com Keliweb777 CPANEL -> https://www.youmood.it:2083/ youmood n72v2p32g3a11as544an4a old - c9ZkJxuo?7Ay WHM -> https://www.youmood.it:2087/ root oEY&b(mOE88f WP-ADMIN: elena n72v2p32g3a11as544an4a staging -> E58K!!K1kkMVI@4Og2G0bh)R FTP: youmood-wm@youmood.it CzFX7-hkLi1_ivEBrrpLwy
STAGING
[modifica]Modificare file hosts
# YOUMOOD - hosts per staging 194.76.119.32 staging.youmood.it
Database
[modifica]Database: PROD -> youmood_db STAGING -> youmood_wp_dhwot
ESW
[modifica]Dati di connessione a ESW
Listini -> webgallery TRUE Giacenza -> Tutte senza filtro webgallery
db_connection: 61_SIGI -> PROD db_connection: 61_SIGI_TEST -> TEST codice negozio: 05 codice magazzino: CD_MAG_35 codicevenditore : VEN94050 incassi-codice_causale : 05SLD servizi-codice: T mapping-pagamenti" => ["bacs" => "BON","xpay"=> " POS2"] esw_api-domain => https://easyapi5.eswportal.it X-ApiKey: T1QiKxIUMEqL5BTQ59wc4EJ4YWJHWlY4N1VTTWYwM2NRZUZOSmc= EndPoint Test listino -> https://easyapi5.eswportal.it/api/v1/61_SIGI_TEST/listini/azienda/05?webgallery=true giacenze -> https://easyapi5.eswportal.it/api/v1/61_SIGI_TEST/giacenze/azienda/05?webgallery=false EndPoint PROD listino -> https://easyapi5.eswportal.it/api/v1/61_SIGI/listini/azienda/05?webgallery=true giacenze -> https://easyapi5.eswportal.it/api/v1/61_SIGI/giacenze/azienda/05?webgallery=false
Nostro plugin Import da ESW
[modifica]Cosa fa
[modifica]Importa prodotti dal Listino ESW segnati come webgallery true e dalle giacenze dai seguenti magazzini:
Se prodotto da importare non è presente su Woocommerce importo tutto da ESW tranne le immagini.
Se prodotto già importato aggiorno:
- prezzo
- prezzo scontato
- regular price
- quantità
- attributi (larghezza, altezza, ecc...)
- setto cmq attributo locale Prodotto Easy Store
Attributi Modello, Dimensioni e Colori: Vengono creati splittando il codice SKU del prodotti di ESW
Categorie Recuperata e generata la gerarchia da ESW, nel caso di errore viene segnato il prodotto nella categorie Outlet.
Import programmato Ogni giorno alle 8:00 e 20:00 (valori indicativi).
Richieste
[modifica]Causa incongruenze prezzi tra listino e giacenze, prendiamo sempre i campi:
- prezzo_ic / 1.22
- prezzo_scontato_ic / 1.22
- listino_ic / 1.22
ATTRIBUTI WOOCOMMERCE old plugin
[modifica]Erano già presenti degli attributi con valori settati:
WooCommerce Attributi:
Altezza Brand Codice Fornitore Collezione -> vuota Colore Dimensione -> da capire da ESW che campo prende Fornitore Larghezza Lunghezza Modello -> da capire Peso_unit Stile -> CONTEMPORANEO, MODERNO Vari -> loro settaggi tipo Black Week Volume
PASSI
[modifica]Da fare
[modifica]- Prendere prodotti listino webgallery true e giacenze di un magazzino.
- Nome prodotto da estrapolare dallo SKU -> N_
- Categoria prodotto da ESW listino categorie ->
- "art_area": "TAVOLI E SEDIE",
- "art_categoria": "TAVOLI ALLUNGABILI",
- "art_sottocategoria": "",
Colori
[modifica]- C'è un hook che viene chiamato ad ogni cambio di stato di un prodotto (Bozza -> pubblicato o Pubblicato -> cestino).
- Codice eseguito solo in caso di cambio stato del prodotto.
- Viene mandata mail di Debug a info@infocurci.com, con ID prodotto (wordpress) status vecchio + status nuovo.
- Recupera lo SKU del prodotto, ripulito, rimuovendo suffissi tipo -C_qualcosa
- Cerca i prodotti salvati con lo stesso SKU ripulito
SELECT p.ID,tt.term_id, p.ID as post_id, t.name as color_name, p.post_status
FROM wp_posts p
left join wp_term_relationships tr on (tr.object_id=p.ID)
join wp_term_taxonomy tt on (tt.term_taxonomy_id=tr.term_taxonomy_id and tt.taxonomy="pa_colore")
join wp_terms t on (t.term_id=tt.term_id), wp_postmeta pm
WHERE
p.ID = pm.post_id
and p.post_type="product"
and pm.meta_key="_sku_ripulito"
and pm.meta_value = "codice_sku_ripulito"
order by tr.term_order
- Per ciascun prodotto trovato:
- Se lo stato è publish, costruisce un array con:
- post_id
- color_name (nome del termine colore)
- term_id
- Se lo stato è publish, costruisce un array con:
Eventuale immagine associata al colore tramite ACF (get_field('color_image', 'pa_colore_' . $color->term_id)), ridimensionata con nova_resize_thumbnail.
ESEMPIO:
REFPOL-N_SONORA-C_VERDE-D_-V_ REFPOL-N_SONORA-C_CREMA-D_-V_ REFPOL-N_SONORA-C_GRIGIO-D_-V_ OTSALL-N_CLAVIUS-C_GRIGIO-D_180-V_ OTSALL-N_CLAVIUS-C_BIANCO-D_180-V_ OTSALL-N_CLAVIUS-C_BEIGE-D_180-V_