Creazione di attributi in Magento (intro ai prodotti configurabili)

Cosa sono gli attributi in Magento?

Magento grazie alla tipologia dei prodotti configurabili ci offre la possibilità di raggruppare più oggetti uguali, ma con una o più carattestiche variabili (per esempio il colore), in un unico prodotto.

I prodotti di questa tipologia permettono ai propri clienti di scegliere dalla pagina prodotto una combinazione di variabili che non è altro che un prodotto semplice collegato con il suo codice identificativo e la sua scorta indipendente di magazzino. Per esempio il nostro negozio online potrebbe vendere un particolare tipo di mouse che ha tre colori diversi (Nero, Blu, Bianco) e due possibili configurazioni di pulsanti (tre pulsanti, cinque pulsanti). Il primo passo per la creazione di un prodotto configurabile ci permette di introdurre una caratteristica molto potente di Magento, soprattutto in termini di personalizzazione dei dati dei prodotti: gli attributi.

Un attributo rappresenta una proprietà di un prodotto, ad esempio il nome, l’immagine, un colore, la marca e cosi via. La gestione degli attributi non si limita al caso dei prodotti configurabili, ma permette la personalizzazione dei prodotti a livello di tutte le tipologie.

Vediamo ora come crearne uno, per esempio l’attributo “Colore Mouse”. Dal backend di Magento andiamo in Catalogo > Attributi > Gestisci attributi. Compare una pagina dove sono raggruppati in una griglia tutti gli attributi già presenti. Clicchiamo su “Aggiungi un nuovo attributo”.

creazione nuovo attributoSi aprirà una pagina con un menu a tab a sinistra con due sezioni “Proprietà” e “Gestisci le etichette/Opzioni”, cominciamo a vedere i campi della sezione “Proprietà”.

menu a tab

Proprietà:

Sezione divisa in due sezioni principali dove sono presenti i campi da compilare per la configurazione dell’attributo.

Proprietà attributo:

proprietà attributo
Questi campi definiscono le caratteristiche proprie dell’attributo, come per esempio il tipo di input associato.

  • Codice attributo: nome identificativo univoco dell’attributo utilizzato dal sistema. Non è permesso usare spazi e non può superare i 30 caratteri.
  • Ambito:con ambito si intende il livello (Globale, Sito Web, Vista Negozio) in cui si condivide (e può essere modificato) il valore dell’attributo per uno specifico prodotto.
    • Globale: assegnando all’attributo l’ambito “Globale”, il valore dell’attributo per uno specifico prodotto sarà lo stesso tra tutti i siti web presenti sull’installazione di Magento. Per esempio se sul “Sito A” impostiamo per un prodotto “Colore Mouse: Nero”, lo stesso prodotto sul “Sito B” l’attributo avrà lo stesso valore senza poterlo modificare.
    • Sito Web: assegnando all’attributo l’ambito “Sito Web”, il valore dell’attributo per uno specifico prodotto potrà essere modificato tra tutti i siti web presenti, ma manterrà lo stesso valore all’interno del sito stesso. Per esempio se sul “Sito A” impostiamo per un prodotto “Colore Mouse: Nero”, per lo stesso prodotto sul “Sito B” ne potremo modificare il valore, ma se nel “Sito A” abbiamo due vetrine “Italiano” e “Inglese” il valore non potrà essere modificato a livello di vetrina.
    • Vista Negozio: assegnando all’attributo l’ambito “Vista Negozio”, permette di poter modificare il valore dell’attributo anche a livello di vetrina, quindi se per esempio su un “Sito A” sono presenti due vetrine “Italiano” e “Inglese” e impostiamo per “Italiano” il colore del mouse con “Nero” nella vetrina “Inglese” sarà possibile modificarne il valore.
  • Tipologia di input per il proprietario del negozio:
    • Campo di testo: un campo di testo per inserire il valore dell’attributo manualmente per ogni prodotto.

    tipologia testo

    • Area di testo: come il campo di testo, ma con un limite maggiore di caratteri.

    tipo area di testo

    • Data: se abbiamo bisogno di un attributo di tipo data.

    tipo data

    • Sì/No: se il nostro attributo ha due possibili valori mutuamente esclusivi, in parole povere o “Sì” o “No”.

    tipo sì no

    • Selezione Multipla: se l’attributo ha un range limitato di possibili valori e può assumere più di un valore

    tipo selezione multipla

    • Dropdown: il classico menu a tendina, con la possibilità di selezionare un unico valore.

    tipo dropdown

    • Prezzo: attributo di tipo prezzo, utile se vogliamo mostrare per esempio quanto contribuisce una caratteristica del prodotto al prezzo finale.

    tipologia prezzo

    • Immagine Media: attributo di tipo immagine
    • Tassa fissa sul prodotto: se nella nazione dove venderemo il nostro prodotto impongono una tassa fissa sul prodotto (FPT), questa tipologia di input permette di definire la tassa. Nota: per poter visualizzare lato frontend questo attributo bisogna abilitare la tassa fissa sul prodotta da Sistema > Configurazione > Vendite > Tasse e clicchiamo sulla tab “Tassa fissa sul prodotto”. Selezioniamo “Sì” per abilitarla.
      Clicchiamo su “Aggiungi Tassa”e ci compaiono alcuni campi da compilare per definire la tassa.

      • Sito: campo dove possiamo indicare se la tassa si applica solo ad uno dei siti presenti sull’installazione di Magento o a tutti.
      • Paese/Stato: campo dove specifichiamo la nazione dove applicare la tassa fissa sul prodotto. Se per la nazione selezionata è prevista la scelta della provincia sotto compare un altro menu a tendina per l’inserimento della stessa.
      • Tassa: inseriamo il valore della tassa da applicare, quindi se per esempio inseriamo “5″, il costo del prodotto verrà aumentato di 5 €.

    tassa fissa sul prodotto

    • Valore predefinito: per alcune tipologie di input, per esempio “Campo di testo” possiamo fornire un valore predefinito, per esempio “Nero”.
    • Valore unico: se impostato a “Sì” assegnando uno specifico valore dell’attributo ad uno specifico prodotto, se cercheremo di assegnare lo stesso valore ad un altro prodotto avremo un errore.

    errore valore unico

  • Valori richiesti: se impostato a “Sì” l’attributo sarà un campo obbligatorio e non sarà possibile salvare il prodotto se non gli viene impostato il valore.

errore valore richiesto

  • Convalida input per il proprietario del negozio: per alcune tipologie di input è possibile inserire la validazione del valore inserito, per esempio per un “Campo di testo” possiamo mettere che siano ammesse solo lettere. Se proveremo ad inserire dei numeri o simboli ci verrà dato errore

errore validazione testo

  • Applica a: grazie a questo campo possiamo scegliere se il nostro attributo potrà essere usato nella configurazione di tutte le tipologie di prodotti forniti da Magento o solo ad alcuni.

applica a tipologia di prodotto

Proprietà Frontend:

proprietà frontend
Questi campi definiscono il comportamento dell’attributo nel frontend del nostro negozio online.

  • Usa nella ricerca veloce: se impostato a “Sì” scrivendo il valore dell’attributo nella ricerca veloce vedremo nella risposta tutti i prodotti con quel valore per l’attributo creato.

usa per ricerca veloce

  • Usa nella ricerca avanzata: se impostato a “Sì” l’attributo potrà essere usato come filtro nella ricerca avanzata.

usa nella ricerca avanzata

  • Comparabile sul Front-end: se impostato a “Sì” verrà visualizzato come campo nel confronto tra prodotti

usa per confronta prodotti

  • Usa nella navigazione a livelli: impostato su “Filtrabile” l’attributo sarà uno dei filtri nella navigazione a livelli. “Filtrabile (con risultati)” significa che verranno mostrati solo i valori associati ai prodotti specifici della specifica categoria che stiamo visualizzando. “Filtrabile (senza risultati)” significa che verranno mostrati tutti i possibili valori dell’attributo anche se il filtrando per un valore non verranno prodotti risultati.

filtrabile con risultati
filtrabile senza risultati

  • Usa nei risultati di ricerca navigazione a livelli: se impostato a “Sì” l’attributo sarà presente nei filtri della navigazione a livelli nella pagina dei risultati di ricerca.

ricerca navigazione a livelli

  • Usa per le condizioni e regole promozionali: se impostato a “Sì” l’attributo potrà essere usato come condizione per la creazione di una promozione, esempio possiamo creare un coupon che applica uno sconto solo per mouse di colore nero.

condizioni promozione

  • Posizione:tramite questo campo è possibile impostare la posizione dell’attributo nel menu di navigazione a livelli, un numero minore indica che l’attributo verrà inserito prima nell’elenco degli attributi.
  • Consenti tags HTML nel Frontend: per alcune tipologie di input, come per esempio “Area di Testo”, selezionando “Sì” sarà possibile scrivere assieme al testo del markup HTML e verrà interpretato nel frontend.
  • Visibile sulla pagina vista prodotti sul Front-end: se impostato a “Sì” il valore del nostro attributo sarà visibile nella scheda prodotto

visibilità frontend

  • Usato nella lista prodotti: se impostato a “Sì” l’attributo sarà visibile nella lista prodotti. La visualizzazione del valore dell’attributo non sarà però automatica, ma dovrà essere inserito nel codice del file pthml della lista prodotti. La funziona da richiamare sarà “$_product->getData(id_attributo)”, dove “id_attributo” è il “Codice attributo”.

usato in lista prodotti

$_helper->productAttribute($_product, $_product->getName(), 'name') ?>
     <!--?php echo $_product--->getData('color_mouse') ?>
     <!--?php if($_product--->getRatingSummary()): ?>
  • Usato per ordinare nella lista prodotti: se impostato a “Sì” sarà possibile ordinare la lista prodotti per il valore del nostro attributo

ordinamento listino prodotti

Gestisci le etichette/Opzioni:

In questa sezione è possibile dare il nome con cui visualizzeremo l’attributo nel backend e nel frontend di Magento e, nel caso che il nostro negozio online lo preveda, fornirne le traduzioni nel caso di più vetrine per il multilingua.

gestione titoli
Inoltre per attributi per cui la tipologia in input ci impone di avere un numero limitato di valori, “Dropdown” e “Selezione Multipla”, nel menu “Gestisci Opzioni” è possibile assegnare i valori che potranno essere assegnati all’attributo. Clicchiamo su “Aggiungi Opzione” per aggiungere un nuovo valore e otterremo dei campi da compilare:

  • Admin: inseriamo in questo campo il valore dell’attributo che vedremo a livello di backend e anche di frontend, se non sono specificati valori o non sono preveste più di una vetrina.
  • Vetrina: inseriamo le etichette per il valore dell’attributo per la gestione di più vetrine e tipicamente del multilingua.
  • Posizione: inserendo un valore numerico indichiamo la posizione per l’ordinamento dei valori dell’attributo. Un valore numero basso indica una posizione più alta nell’ordinamento.
  • È predefinito: spuntando questa opzione si impone che questo valore sarà il valore predefinito.

gestione opzioni
A destra è presente un pulsante “Elimina” nel caso che vogliamo eliminare uno dei valori che abbiamo creato.

Nel prossimo articolo vedremo come configurare un attributo per la creazione di un prodotto configurabile e la configurazione di quest’ultimo.

Lascia un commento

Tutti i campi sono obbligatori.
L'indirizzo email non verrà pubblicato

Commenti

  1. avatarWavebass

    Ottimo articolo e ottima spiegazione. Bravi!

    Una cosa però che non mi piace di Magento è come gestisce il calcolo del prezzo per i prodotti configurabili. Ad ogni attributo è possibile associare un importo che si va a sommare (o sottrarre) al prezzo base.

    Ad esempio al colore rosso viene associato un sovrapprezzo di + 1.5 euro.

    Ma se nasce l’esigenza di associare a quell’attributo non una maggiorazione di prezzo ma un prezzo vero e proprio allora nascono i dolori.

    Mi riferisco ad esempio ad uno stesso prodotto venduto in molti packaging (1Kg / 3Kg /10kg). In questo caso sarebbe più sensato che non si ragionasse per maggiorazione di prezzo ma per valore assoluto preso direttamente dal prezzo del prodotto singolo associato a quello configurabile.

  2. Pingback: Creazione di prodotti semplici in Magento (2° parte) - blog.artera.it

  3. Pingback: Creazione di prodotti configurabili in Magento - blog.artera.it

  4. avataremanuela

    Buongiorno, ho creato alcuni attributi sui miei prodotti ma mi sono accorta di aver fatto un errore, non capisco da dove si cancellino gli attributi creati. Qualche suggerimento?

  5. avatarMaurizio Piatti Autore

    Ciao, per eliminare un attributo puoi andare in Sistema->Attributi->Gestisci Attributi, entri nell’attributo che vuoi eliminare e clicchi sul pulsante in alto a destra “Elimina attributo”

  6. avatarDavide

    Complimenti Maurizio, tra i pochi che forniscono spiegazioni così dettagliate.
    Ho da poco attivato un servizio hosting magento con voi di Artera e sono al lavoro con le varie configurazioni.Visto la competenza ho pensato di chiederti aiuto. Mi sto arrovellando su come riuscire ad ottenere una configurazione come questa:
    Attributo = Materiale Varianti = A – B – C
    Attributo = A Varianti = Bianco – Nero
    Attributo = B Varianti = Giallo – Verde
    Attributo = C Varianti = Blu – Arancio
    Il risultato quindi è condizionato dalla scelta operata nella variante del primo attributo che permette di settare il successivo.
    Es. Cotone A disponibilità Bianco o Nero
    Ovviamente dopo la selezione l’ Attributo B e C non si possono selezionare o non devono comparire nel frontend.
    Speranzoso… un grazie per la pazienza

  7. avatarMaurizio Piatti Autore

    Ciao Davide, ti riferisci alla configurazione di un prodotto configurabile? Se questa è la tua situazione, quindi quando il cliente seleziona le opzioni per il prodotto, magento si occupa automaticamente di visualizzare le opzioni disponibili alla selezione di uno o più attributi, in modo che non possano essere visualizzate configurazioni non disponibili.
    Se invece questa non è la tua situazione ti chiederei se possibile più dettagli.

  8. avatarDavide

    Ciao Maurizio, ti ringrazio per la risposta…
    Si mi sto riferendo all’utilizzo degli attributi nei prodotti configurabili.
    Premessa, io ho attivato il modulo BelVG Swatch 2.0
    quindi tutte le finiture estetiche cioè le icone che sono proprie del prodotto trattato e relative agli attributi se i prodotti sono disponibili risultano tutte contemporaneamente sul frontend.
    Il risultato che vorrei ottenere per una questione estetica e per evitare di disorientare l’utilizzatore finale è di avere un “attributo padre” con degli “attributi figli” che risultano visibili e quindi selezionabili solo dopo la scelta operata nell’ “attributo padre”.(dipendenza condizionale)
    Spero di essere riuscito a farti capire l’obiettivo che voglio raggiungere.
    In attesa della soluzione…
    Ps.
    Ho provato a girare per il web e domande simili ne ho già trovate ma niente risposte esaurienti ne moduli che svolgano questa funzione.

  9. avatarMaurizio Piatti Autore

    Ciao Davide, grazie per la delucidazione ora la situazione è più che chiara. Con i soli strumenti standard di Magento non è possibile ottenere una soluzione alla tua questione. Per poter raggiungere il tuo obbiettivo dovresti effettuare una modifica personalizzata, grafica e/o di programmazione, al modulo che hai installato per la visualizzazione degli attributi.

  10. avatarFrancesco

    Ciao Maurizio,
    complimenti per l’articolo veramente ottimo ;)
    Volevo farti una domanda in merito ai set di attributi :
    sto passando dalla versione 1,4 alla 1,7 di magento. All’inizio per mia ignoranza sono partito a configurare i set attributi da utilizzare solo con i prodotti semplici.
    Con la nuova versione vorrei inserire i prodotti configurabili così da poter creare dei prodotti padri per i prodotti semplici che sono già all’interno dello shop.
    Secondo te, esiste una maniera per convertire i set d’attributi da configurazione per prodotti semplici a configurati per prodotti configurabili?
    Se non mi sono spiegato bene, dimmi pure che cerco di fare degli esempi.
    Ti ringrazio in anticipo per la tua attenzione,
    Buon lavoro e buon proseguimento,

    Francesco

  11. avatarMaurizio Piatti Autore

    Ciao Francesco, grazie per i complimenti. Tornando alla tua domanda, un set di attributi diventa utilizzabile per la creazione di un prodotto configurabile nel momento in cui gli viene associato almeno un attributo che è stato creato con l’opzione “Usa per creare prodotti configurabili”, come ho spiegato nell’articolo che ho scritto dopo di questo (http://blog.artera.it/ecommerce/prodotti-configurabili-magento). Detto questo quello che devi fare è verificare se gli attributi che hai creato soddisfano i requisiti per poter essere utilizzati per la creazione di un prodotto configurabile, se sì potrai impostare l’opzione: “Usa per creare prodotti configurabili” e utilizzare il set di attributi per il tuo scopo.

  12. avatarRoberto

    ciao, complimenti per l’ottimo lavoro. Io sto diventando matto su come poter assegnare attributi diversi a categorie diverse. Mi spiego meglio, sto cercando di fare un sito di una gioielleria e vorrei che quando si clicca sulla categoria ” anelli” compaia una lista di marchi e quando si clicca su “bracciali” ne compaia un’altra. Puoi illuminarmi?

  13. avatarMaurizio Piatti Autore

    Ciao Roberto, non ho ben chiara la situazione, come lista di marchi intendi una lista di prodotti di uno specifico marchio o una lista dei marchi per esempio di anelli? Se è il primo caso ti basterà semplicemente associare alla categoria i prodotti corretti, mentre nel secondo caso dipende da cosa vuoi ottenere, se hai bisogno solo della lista in questo caso hai bisogno di effettuare una modifica personalizzata ai template di Magento. Se non ti ritrovi in nessuno di questi casi potresti farmi un esempio più dettagliato?

  14. avatarLeo

    Interessante il Consenti tags HTML nel Frontend, in effetti funziona bene. Ma posso aggiungerci invece un codice PHP? Io vorrei richiamare un blocco statico.
    Ho provato ad aggiungere questo
    getLayout()->createBlock(‘cms/block’)->setBlockId(‘prova’)->toHtml(); ?>
    Ma non va.
    Come potrei fare?

  15. avatarMaurizio Piatti Autore

    Ciao Leo, magento per gli attributi di testo, nel caso tu utilizzi la configurazione “Consenti tag HTML”, riconosce esclusivamente i tag HTML, quindi non interpreta né il codice php né lo shortcode {{block …}}.

  16. avatarPAKO

    Ottimo articolo, ho una domanda.
    Come faccio ad ordinare gl attributi da font end?
    Mi spiego meglio se devo scegliere un prodotto voglio che appaia attributo A B C
    nell ordine C B D

    Come faccio?
    Grazie in anticipo!

  17. avatarrossano

    Buongiorno,

    ho aggiunto questo attributo sotto il codice sku del prodotto:

    getData(‘produttore’) != ”): ?>
    getResource()->getAttribute(‘produttore’)->getStoreLabel() ?>: getData(‘produttore’) ?>

    soltanto che mi scrive invece del nome un numero ho provato mettendo anche getAttributeText invece di getData ma niente dove sbaglio?

    Grazie

  18. avatarfranco

    vorrei usare nei prodotti configurabili alcune varianti che aumentano il prezzo di listino del prodotto. Utilizzo Promozioni –> Regole di prezzo nel catalogo –> applico le condizioni affinche’ sulle varianti di prodotto dove è previsto una variante di prezzo applichi un determinato sconto ai prezzi di listino. Il risultato è che sul lato fronted non vedo il prezzo scontato della variante ma lo vedo solamente quando il prodotto è nel carrello. Quali parametri devo correggere ???

  19. avatarMichele

    E’ possibile , nella scheda prodotto, vedere le immagini (e non solo il nome ) dei prodotti raggruppati ?

  20. avatarMaurizio Piatti Autore

    @Michele: No, a meno di eseguire una modifica personalizzata del template.

  21. avatarAntonino

    Ciao, le varianti degli attributi in magento sono numericamente limitate? In caso è possibile aumentare il limite?
    Grazie