Prodotti
Definizione dei campi
I campi obbligatori sono contrassegnati da una matita. Le definizioni dei campi si basano sulla sintassi MySQL.
Tutti i campi vengono analizzati in base al loro tipo prima dell'importazione. Se in parent_id si inserisce una stringa vuota, questa verrà convertita in uno 0 tramite cast a tipo INT.
L'aggiornamento o la creazione di un prodotto avviene sempre in base al codice articolo.
- 1: attivo (impostazione predefinita)
- 0: inattivo
- 2: attivo in una categoria inattiva
- 1: sì (impostazione predefinita)
- 0: no
- 1: sì
- 0: no (impostazione predefinita)
Formato: AAAA-mm-gg HH:ii:ss
Se non viene specificata alcuna data, come timestamp viene impostato NOW().
Formato: AAAA-mm-gg HH:ii:ss
Se non viene specificata alcuna data, viene impostato NOW() come timestamp.
Formato: AAAA-mm-gg HH:ii:ss
Se non viene specificata alcuna data, come timestamp viene impostato NULL.
Formato: AAAA-mm-gg HH:ii:ss
Se non viene specificata alcuna data, come timestamp viene impostato NULL.
- 1: sì
- 0: no (impostazione predefinita)
viene utilizzato nei punti critici per le prestazioni al posto della valutazione in tempo reale.
L'ordinamento delle categorie allo stesso livello avviene in ordine crescente
model) del master. Vedi la sezione Articoli master/slave (famiglie di prodotti).- 0: Elenco (predefinito)
- 1: Selezione
- 2: Pulsante di opzione
- 3: Pulsante di opzione (pulsante)
- 4: Opzione (finestra a comparsa)
family – vedi la sezione Articoli master/slave (famiglie di prodotti). Il prodotto master può essere impostato direttamente tramite ID solo tramite l'API REST/JSON e il CSV Porter.- 1: sì
- 0: no (impostazione predefinita)
- 1: sì
- 0: no (impostazione predefinita)
- 1: sì
- 0: no (impostazione predefinita)
- 1: sì
- 0: no (impostazione predefinita)
viene utilizzato nei punti critici per le prestazioni al posto della valutazione in tempo reale.
- 1: sì
- 0: no (impostazione predefinita)
- 1: sì
- 0: no (impostazione predefinita)
domainname.tld/ProduktSEOName.html/
Se non viene specificato alcun nome SEO, come nome SEO verrà utilizzato il nome del prodotto.
- 1: attivo
- 0: inattivo (impostazione predefinita)
groups" (<groups><customers><customer>): ogni nodo "customers" contiene [1..n] nodi "customer" con prezzi specifici per ciascun cliente.Nota: funziona a partire dall'API xoPort 2.57.1 (luglio 2026) – le versioni precedenti dello shop ignoravano silenziosamente questo blocco durante l'importazione XML.
Importante – Semantica di sostituzione/rimozione:
- L’importazione dei prodotti sostituisce, per ogni prodotto importato, l’intero elenco dei prezzi per cliente relativi a quel prodotto (riepilogo completo).
- Rimozione: reimportare il prodotto senza la voce «
customer» (o senza il blocco «customers» del tutto). - I prezzi cliente gestiti manualmente nel negozio online sopravvivono all’importazione del prodotto solo se il nodo di importazione
customers_pricesè disattivato nella configurazione di xoPort oppure se il prodotto presenta la protezione dall’importazione «Prezzi (prezzi cliente)» (price_customers) nella scheda «Interfaccia dati xoPort (XML)».
Regole di elaborazione importanti:
- Raggruppamento: più feature con lo stesso
namevengono raggruppate in UNA sola opzione, mentre vocivaluediverse vengono create come valori dell'opzione. - Esempio: due feature con
name="Farbe"evalue="Rot"ovalue="Blau"generano un menu a tendina "Colore" con i valori "Rosso" e "Blu". - Nuove opzioni: i nomi e i valori delle opzioni non esistenti vengono creati automaticamente in tutte le lingue.
- Elaborazione delle immagini: le immagini vengono copiate automaticamente da
/images/product/src/a/images/optionen/src/, le miniature vengono rigenerate.
Valori stringa (consigliati):
select: menu a tendina (impostazione predefinita, diventa Tipo 0)text: Campo di immissione su una riga (tipo 1)radio: Pulsanti di opzione (Tipo 2)textarea: Area di testo multilinea (Tipo 4)show_only: Solo visualizzazione, non selezionabile (Tipo 5, predefinito in caso di Tipo mancante/vuoto)hide: Nascosto (Tipo 6, imposta automaticamente required=0)radio_button: Pulsanti di opzione classici (Tipo 7)radio_popup: Pulsanti di opzione con informazioni a comparsa (Tipo 9)
- 0: Select
- 1: Testo
- 2: Pulsante di opzione
- 3: Casella di controllo
- 4: Area di testo
- 5: Mostra solo (impostazione predefinita in assenza di "type")
- 6: Nascondi (imposta automaticamente required=0)
- 7: Pulsante opzione (pulsante)
- 8: Casella di selezione (pulsante)
- 9: Pulsante radio (popup)
- 12: Carrello
select, radio, radio_button e radio_popup, diverse funzionalità con lo stesso name vengono raggruppate in UN'UNICA opzione. Per hide e show_only, required viene impostato automaticamente su 0.Importante: al valore viene automaticamente anteposto un punto e virgola (
,)!Esempio: Input
ROT → Salvato: ,ROTIl codice prodotto completo è composto da:
Basis-Artikelnummer,Suffix(ad es.
ART-12345,ROT)Elaborazione automatica dell'immagine:
- L'immagine viene copiata da
/images/product/src/a/images/optionen/src/ - Le miniature esistenti vengono automaticamente eliminate e rigenerate
- Dimensioni delle miniature supportate: mini, small, medium, large, xlarge
Quantità disponibile per questa variante specifica (ad es. "Colore: rosso" ha 10 pezzi disponibili)
Nota: come separatori decimali sono accettati sia la virgola (
,) che il punto (.).Sono ammessi valori negativi per gli sconti (ad es.
-2.50)Nota: come separatori decimali sono accettati sia la virgola (
,) che il punto (.).- 0: No (impostazione predefinita)
- 1: Sì - Il cliente DEVE effettuare una selezione
type=hide e type=show_only viene impostato automaticamente su 0 (non modificabile).- 0: No (impostazione predefinita)
- 1: Sì - Questa opzione è preselezionata all'apertura della pagina
name) può essere preselezionato solo UN valore. In caso di più pre_select=1 prevale la prima voce.text o textarea )Può contenere regole di convalida, segnaposto o ulteriori specifiche per i campi di testo.
Articoli master/slave (famiglie di prodotti)
Le varianti di un articolo (ad es. formati di confezione o colori) vengono rappresentate tramite una famiglia di prodotti. L’assegnazione avviene esclusivamente tramite l’elemento family:
- Tutti gli articoli di un gruppo hanno lo stesso valore in
family. - L’articolomaster è esattamente quello il cui valore
modelè identico al propriofamily. - Tutti gli altri articoli con lo stesso valore di
familydiventano automaticamente sue varianti.
Il collegamento interno viene calcolato automaticamente dal negozio. Nell’importazione XML non è presente un elemento products_master.
<product> <model>ABC-100</model> <!-- Master: model == family --> <family>ABC-100</family> <products_family_type>3</products_family_type> <groups><group><id>0</id><price>19.90</price></group></groups> </product> <product> <model>ABC-100-250</model> <!-- Variante --> <family>ABC-100</family> <products_family_type>3</products_family_type> <groups><group><id>0</id><price>19.90</price></group></groups> </product> <product> <model>ABC-100-1000</model> <!-- Variante --> <family>ABC-100</family> <products_family_type>3</products_family_type> <groups><group><id>0</id><price>59.90</price></group></groups> </product>
Note:
- L'ordine nel feed non ha alcuna importanza: l'articolo principale può anche trovarsi dopo le sue varianti.
familyè limitato a 128 caratteri e deve corrispondere esattamente, carattere per carattere.- Se in un feed successivo il campo «
family» viene fornito vuoto, il gruppo viene nuovamente sciolto. Nei feed che contengono solo dati di magazzino o prezzi, inviare quindi il valore – oppure deselezionare contemporaneamente «products_family» e «products_master» dalla selezione dei campi dell’importazione. products_family_typeImpostare lo stesso valore per tutti gli articoli del gruppo.- Il prezzo proviene da
groups/groupconid0 (gruppo clienti predefinito). Unpricedirettamente sottogroupsnon viene letto.
Esempio di XML
Il file XML deve rispettare la seguente convenzione di denominazione:
Products(.)*.xml
Scarica gli esempi:
Last updated: 9 ottobre 2026