Youmood: differenze tra le versioni

Da Webmobili Wiki.
 
(28 versioni intermedie di 2 utenti non mostrate)
Riga 8: Riga 8:


<pre>
<pre>
https://www.keliweb.it/
e7510753@gmail.com
Keliweb777
CPANEL -> https://www.youmood.it:2083/
CPANEL -> https://www.youmood.it:2083/
youmood
youmood
Riga 21: Riga 25:
n72v2p32g3a11as544an4a
n72v2p32g3a11as544an4a
staging -> E58K!!K1kkMVI@4Og2G0bh)R
staging -> E58K!!K1kkMVI@4Og2G0bh)R
FTP:
youmood-wm@youmood.it
CzFX7-hkLi1_ivEBrrpLwy
</pre>
</pre>


Riga 38: Riga 47:


=== ESW ===
=== ESW ===
dati di connessione a ESW
Dati di connessione a ESW


Listini -> webgallery TRUE
Giacenza -> Tutte senza filtro webgallery
<pre>
<pre>
db_connection: 61_SIGI
db_connection: 61_SIGI -> PROD
db_connection: 61_SIGI_TEST  -> TEST
codice negozio: 05
codice negozio: 05
codice magazzino: CD_MAG_35
codice magazzino: CD_MAG_35
Riga 49: Riga 61:
mapping-pagamenti" => ["bacs" => "BON","xpay"=> " POS2"]           
mapping-pagamenti" => ["bacs" => "BON","xpay"=> " POS2"]           


esw_api-domain => https://easyapi5.eswportal.it
X-ApiKey: T1QiKxIUMEqL5BTQ59wc4EJ4YWJHWlY4N1VTTWYwM2NRZUZOSmc=
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>
</pre>


== ATTRIBUTI WOOCOMMERCE==
== 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>
<p>Erano già presenti degli attributi con valori settati:</p>
Riga 60: Riga 112:
WooCommerce Attributi:
WooCommerce Attributi:
<pre>
<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

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

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_