Gli attributi nella scheda prodotto di Magento

Logo-magentoChi ha una certa esperienza con Magento, conoscerà sicuramente le grandi potenzialità dell’utilizzo degli attributi per la personalizzazione della scheda prodotto degli articoli messi in vendita sul nostro e-commerce. In un recente lavoro eseguito sulla piattaforma Magento, mi è capitato di sfruttare proprio queste potenzialità, avendo la necessità di contrassegnare alcuni prodotti messi in vendita sullo store online, con una particolare icona che comunicasse agli acquirenti che i prodotti in questione gli sarebbero stati inviati in tempi diversi rispetto a quelli garantiti per gli altri prodotti in catalogo.

Obiettivo di questo tutorial è quello di condividere questa mia esperienza, descrivendo passo per passo tutte le attività che ho eseguito per il raggiungimento del mio scopo. (sperando che risulti d’aiuto per chiunque abbia necessità analoghe.)

Creazione del nuovo attributo

Per prima cosa colleghiamoci all’amministrazione del nostro e-commerce per la creazione dell’attributo. Per fare questo, dal menù “Catalogo“, selezioniamo la voce “Gestione prodotti” e apriamo la scheda di un articolo del nostro magazzino che desideriamo personalizzare con l’icona per la spedizione personalizzata. Clicchiamo sul pulsante “Crea Nuovo Attributo” (in alto a destra): nel pop-up che appare compiliamo i dati alla voce “Proprietà Attributo“, come mostrato in figura:

popup1

Compiliamo con il valore “No” tutti i campi alla voce “Proprietà Frontend“, come illustrato in figura:

popup2

Prima di concludere la creazione dell’attributo, dal menù di sinistra selezioniamo la voce “Gestione Etichette/Opzioni” e inseriamo l’etichetta che verrà utilizzata nella scheda del prodotto (solo nell’amministrazione, in quanto nel form precedente abbiamo comunicato a Magento di non mostrare il valore dell’attributo nella scheda prodotto pubblica visibile dai clienti del nostro negozio).

popup3

Per concludere, clicchiamo sul pulsante “Salva Attributo” (in alto a destra). Alla chiusura del popup torneremo nella scheda del prodotto, che troveremo modificata con l’aggiunta del nuovo attributo. Possiamo ora assegnarli il valore che desideriamo: “Si” per mostrare l’icona della spedizione personalizzata, “No” per lasciare invariata la scheda del prodotto.

prodotto

Modifichiamo il template

E’ giunto il momento di modificare il template della scheda prodotto, in modo che vada a leggere il valore dell’attributo “Disponibile in 5g,in modo da mostrare l’icona per quelli che abbiamo contrassegnato con il valore “Si“. Apriamo il file “app/design/frontend/deafult/nomeTemplate/template/catalog/product/view/media.phtml” e inseriamo il codice seguente dove vogliamo inserire l’icona.

<?php
$disp5gg = Mage::getModel('catalog/product')->load($_product->getId())->getDisponibile5gg();
if (!empty($disp5gg) && ($disp5gg == 1)) :
?>
 <img src="<?php echo $this->getSkinUrl('images/5-giorni.png') ?>" alt="Disponibile in 5 giorni" />
<?php endif; ?>

Nel nostro caso abbiamo scelto di sovrapporre all’immagine del prodotto un’immagine png trasparente. Vediamo finalmente il risultato:

esempio-1

Lascia un commento

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

 

Commenti

  1. avatarPietro

    Sapresti dirmi come procedere per impostare un prodotto configurabile su Magento? Ad esempio, se vendo un oggetto che il cliente può scegliere in due o tre colori diversi, come faccio a rendere visibile l’opzione in modo che possa selezionarla in fase di acquisto? E se ci sono prezzi differenti per ogni variante, come devo procedere?

    Te lo chiedo perché quando vado a creare un nuovo prodotto configurabile, Magento mi risponde: ” Questo elenco di attributi non ne ha nessuno che possa essere utilizzato per dei prodotti configurabili”.

    Grazie mille per l’aiuto!
    Pietro

  2. avatarRoberto Rubino Autore

    Ciao, un attributo per poter essere utilizzato nei prodotti configurabili, deve avere le seguenti caratteristiche:

    – Ambito: globale
    – Tipo di Input: Dropdown
    – Usa per Creare Prodotto Configurabile: Si

    Magento ti risponde “Questo elenco di attributi non ne ha nessuno che possa essere utilizzato per dei prodotti configurabili” perché non hai nessun attributo configurato con le caratteristiche descritte sopra.

    Visto il tuo interesse, comune a quello di tanti altri, provvederò a programmare la realizzazione di un tutorial proprio sull’utilizzo dei prodotti configurabili.
    Ciao

  3. avatarTony

    Nella guida c’è scritto:
    Compiliamo con il valore “No” tutti i campi alla voce “Proprietà Frontend.

    in questo modo per visualizzare l’attributo avete dovuto inserire quel codice nella pagina media.phtml giusto?
    ma non è necessario se si mette “SI” in qualche campo alla voce proprietà frontand vero?

  4. avatarRoberto Rubino Autore

    Molto probabilmente tu ti riferisci alla voce “Visibile nella pagina Guarda prodotto, sulla frontend”.

    Mettendo SI, nella scheda prodotto verra visualizzato il valore dell’attributo…. ovviamente viene visualizzato solo il valore, per far vedere un’immagine, come nel nostro caso, o qualsiasi altra personalizzazione va sicuramente fatta “a mano”. Ciao

  5. avatarMichell

    Davvero utilissima guida.
    Vorrei ottenere lo stesso vostro risultato, ma davvero non riesco a capire dove inserire il codice nel file media.phtml.

    Il mio attributo si chiama “best” e spero che non vada in conflitto con la filigrana che imposto in configurazione->design->Filigrana Immagine Prodotto.

  6. avatarEnrico

    Ciao!

    Ho letto il post, e vorrei chiederti se hai già risolto un problema su cui siamo incappati noi nella costruzione dell’ecommerce.

    Nel nostro ecommerce abbiamo alcuni prodotti configurabili (con un set di attributi collegato), e per questi prodotti il cliente può scegliere anche alcune lavorazioni aggiuntive: abbiamo così creato le Opzioni Personalizzate.
    La lavorazione aggiuntiva, da scegliere in 2 o 3 opzioni personalizzate, ha un prezzo fisso che vorremmo fosse aggiunto al prezzo del prodotto configurabile.

    Ecco: il problema è che Magento non fa aggiungere questo prezzo fisso.
    L’utente sceglie l’attributo A, sceglie l’attributo B: ha ottenuto così il suo prodotto configurabile, mettiamo a prezzo 10 euro.
    Poi va nella tendina sotto e sceglie “lavorazione aggiuntiva A: + 2 euro” ma queste 2 euro non vengono aggiunte al totale.

    Hai avuto esperienza di questo problema? Stiamo prendendo la strada sbagliata?

    Grazie mille.

    Enrico

  7. avatarRoberto Rubino Autore

    Ciao Enrico,
    ho fatto una prova su un magento 1.6 con i “sample data” ma non sono riuscito a replicare il tuo problema… guarda a questo link

    http://roberto.artera.org/anashria-womens-premier-leather-sandal.html

    Ho aggiunto “opt1” a un prodotto configurabile e il prezzo dell’opzione si aggiunge senza problemi… non è forse che hai un errore javascript nella pagina ed è per quello che non ti si aggiorna il prezzo con il costo dell’opzione ? cosa succede se aggiungi il prodotto anche se non vedi il prezzo aggiornato ? poi nel carrello vedi il prezzo con o senza il costo dell’opzione ?

    Ciao

  8. avatarEnrico

    Grazie mille per il test…

    Ho dimenticato un dettaglio: il prezzo non viene calcolato con la normale funzione degli attributi (+5 euro; + 10 euro, etc), ma viene calcolato usando SCP (Simple COnfigurable Product) ( http://www.magentocommerce.com/magento-connect/simple-configurable-products.html ) che ti permette di ottenere il prezzo assoluto del prodotto semplice (i nostri prodotti semplici devono avere un prezzo dato, poichè provengono da un gestionale interno).

    Probabilmente, è l’unione di questi due componenti a dare problemi… possibile?

    Grazie.

    Enrico

  9. avatarEnrico

    Grazie mille. Adesso lo valutiamo.

    Tra l’altro, abbiamo problemi anche di compatibilità tra SCP e Ajax Cart, quindi stiamo chiedendo ad Ajax Cart se il loro componente è compatibile con Better Configurable Products.

    Grazie mille.

    Enrico

  10. avatarEnrico

    Ciao Roberto,

    abbiamo installato Better Configurable Products, come ci hai consigliato, ed effettivamente molte cose sono andate a posto.

    Abbiamo un problema, magari tu lo hai già risolto.

    Quando entri nel prodotto configurabile, e non hai ancora selezionato nulla nelle tendine, prezzo appare 1.

    Lo stesso succede nella vista Categoria Prodotti. Il prezzo è 1 Euro (che è il prezzo dato al prodotto configurabile in fase di creazione del prod configurabile, ma che andrebbe sostituito dal prezzo inferiore tra gli attributi)

    Hai per caso già risolto?

    Grazie mille.

    Enrico

    Grazie

  11. avatarRoberto Rubino Autore

    Ciao Enrico, mi fa piacere che il modulo che ti ho indicato ti sia tornato utile… nello specifico del tuo problema non saprei darti indicazioni, a parte consigliarti di controllare se tra le opzioni di configurazioni del modulo ce ne sia qualcuna sulla visualizzazione dei prezzi

    Ciao

  12. avatarFrancesco

    Salve avrei bisogno di un aiuto.
    Nel nostro e-commerce avremmo la necessità di personalizzare il backorder del cliente. In pratica vorremmo che fosse possibile che il cliente veda quanto tempo ci vuole per ricevere determinati prodotti che lui ha preso e che non sono però al momento disponibili. Mi spiego meglio se lui compra 10 caramelle blu che sono disponibili e poi mi ordina 5 caramelle rosse di cui solo 3 sono disponibili e 2 devono essere ordinate è possibile per lui vedere tale opzione? e poi scegliere se avere spedito tutto quando è pronto oppure ricevere prima quelle già disponibili e poi successivamente le altre?
    Spero di essere stato chiaro :( grazie mille

  13. avatarRoberto Rubino Autore

    Buongiorno Francesco,
    Quello che chiedi si potrebbe fare con la creazione di un attributo per ogni prodotto, con le informazioni sui tempi di consegna nel caso di mancata disponibilità. Se invece tutti i prodotti NON disponibili hanno gli stessi tempi di consegna, allora è inutile la creazione dell’attributo, ma si tratta soltanto di visualizzare o no nella scheda del prodotto un messaggio al cliente.

    Per quanto riguarda il far scegliere al cliente se ricevere o meno la merce tutta assieme, si potrebbe creare un nuovo campo negli step conclusivi dell’ordine, campo che appare solamente nel caso il cliente abbia nel carrello degli articoli sottoscorta. Qui il discorso è un po’ più complicato, perchè non hai uno strumento dal backoffice di Magento che ti permetta di aggiungere così facilmente nuovi campi nel checkout, ma con la realizzazione di un modulino studiato ad hoc, si può tranquillamente fare.

    Spero di averti dato qualche spunto alla risoluzione dei tuoi problemi

  14. avatarstefano

    Ciao Roberto, Ho letto la tua guida e la trovo perfetta. Ti chiedo una delucidazione visto che sei molto preparato su magento: ho bisogno di inserire nella scheda del prodotto delle voci (attributi?) come ad esempio “brand” e “designer”, Cliccabili in modo tale che il cliente trova nella pagina del prodotto queste due informazioni, e se ci clicca su una di esse, viene reindirizzato in una pagina dove ci sono tutti i prodotti con quell’attributo.
    non so se ho reso l’idea.
    ti faccio un esempio: http://www.madeindesign.it/prod-zuppiera-bazaar-di-driade-kosmo-ref8926455.html
    vedi che l’attributo brand e designer sono cliccabili.
    Ti ringrazio per il tempo dedicato.
    Un saluto, stefano

  15. avatarRoberto Rubino Autore

    Ciao Stefano, ti ringrazio per gli apprezzamenti.
    Quello che chiedi va fatto avendo un po’ di dimestichezza con la programmazione in Magento…. provo a darti qualche dritta:

    Per prima cosa crei gli attributi che desideri visualizzare nella scheda del prodotto (quindi andando in CATALOGO->ATTRIBUTI->GESTIONE ATTRIBUTI), ricordandoti di impostare su “SI” le voci “Visibile sulla pagina vista prodotti sul Front-end” e “Usa nella ricerca avanzata”…. in questo modo, in automatico, visualizzerai nella scheda del prodotto la lista con gli attributi in questione.

    … e così risolvi la tua prima necessità di visualizzare gli attributi.

    Per visualizzare tutti i prodotti che hanno un particolare attributo puoi utilizzare la ricerca avanzata di Magento (è per questo che nel passaggio prima ti dicevo di impostare su “SI” la voce “Usa nella ricerca avanzata”).
    La pagina della ricerca avanzata è la seguente:

    http://www.dominio.it/catalogsearch/advanced

    Ipotizzando di avere un attributo “brand”… potrai effettuare la seguente ricerca per poter visualizzare tutti i prodotti con “brand = ferrari”.

    http://www.dominio.it/catalogsearch/advanced/result/?brand=ferrari

    Detto questo, quello che devi fare è mettere mano al template che visualizza la lista degli attributi nella scheda del prodotto

    app/design/frontend/nometemplate/default/template/catalog/product/view/attributes.phtml

    e per ogni valore collegarlo alla pagina di ricerca.
    Cercando su google ho trovato questa discussione

    http://stackoverflow.com/questions/6087800/magento-output-layered-attribute-link-in-product-page

    nella quale puoi visualizzare nel concreto il codice che ti servirà per collegarti alla pagina della ricerca avanzata.

    Spero di esserti d’aiuto…

    Ciao

  16. avatarAntonino

    Ciao, avrei bisogno di un aiuto in merito agli attributi.
    Ho creato dei prodotti configurabili e quindi i relativi attributi solo che tali attributi (taglia, colore, si tratta di un negozio di abbigliamento) vengono visualizzati nel front end del negozio ma non compare l’etichetta “Taglia”, “Colore”, ecc accanto il menu a tendina da cui scegliere il colore. Nel pannello di amministrazione ho configurato tutto correttamente. Come posso risolvere?
    Grazie

  17. avatarRoberto Rubino Autore

    Ciao Antonino, ti posso consigliare di attivare la visualizzazione dei percorsi del template andando in

    SISTEMA -> CONFIGURAZIONE

    Dal menu in alto a sinistra seleziona “Main Website” e successivamente, verso la fine del menu clicca su “Sviluppa”… nella sezione “Correggi” (destra della pagina) imposta “Suggerimenti percorso template” su “si”….

    A questo punto vai nella scheda del prodotto: compariranno i suggerimenti che ti permetteranno di individuare facilmente il file del template che si occupa di stampare il menu a tendina…. così potrai metterti e fare un po’ di debug per capire il perchè della mancata visualizzazione delle etichette

    Ciao

  18. avatarAntonino

    Ciao,
    grazie dell’aiuto. C’era un display: none nel file view che nascondeva l’etichetta.

    Ciao e grazie ancora

  19. avatarAntonino

    Ciao,
    ho creato un nuovo attributo “Pagamenti”, ma il campo di questo attributo ha i carattere limitati.
    E’ possibile avere un campo senza limiti rispetto al numero di caratteri per il mio nuovo attributo?
    Grazie

  20. avatarAntonino

    Ciao e grazie… avevo impostato campo di testo erroneamente invece di area di testo.

  21. avatarMaria Grazia

    Ciao Roberto, ho seguito la tua guida ma mi sono accorta che il percorso del file media.phtml è diverso dal mio. Ho trovato comunque un media.phtml che riguarda i prodotti, ho caricato l’immagine ma non c’è modo di visualizzare l’etichetta sul prodotto..Dove sbaglio non lo so..Mi daresti una mano per favore? Grazie

  22. avatarRoberto Rubino Autore

    Ciao… ma se togli l’IF php e stampi solo l’immagine,

    <img src="getSkinUrl(‘images/5-giorni.png’) ?>” alt=”Disponibile in 5 giorni” />

    questa viene visualizzata ? giusto per capire se ti trovi nel template giusto….

    ciao

  23. avatarMaria Grazia

    In realtà l’unico percorso che si avvicina a quello che mi descrivi è app/design/frontend/Nome template/default/template/catalog/product/view ma all’interno non esiste un file media.phtml…
    Grazie,
    MG

  24. avatarRoberto Rubino Autore

    Se non hai ben chiaro in che file intervenire, il mio consiglio è quello di attivare i “suggerimenti percorso template”.

    Dal backend vai in

    SISTEMA -> CONFIGURAZIONE -> SVILUPPA e, con il menu in alto a sinistra, spostati nel livello di configurazione MAIN WEBSITE.

    Tra le voci di configurazione di questa sezione troverai “SUGGERIMENTI PERCORSO TEMPLATE”, che se impostata a SI fa comparire nel template dei suggerimenti che ti indicano, per ogni parte del template, il file corrispondende..

    Ciao

  25. avatarAlessandro

    Ciao a tutti,

    io ho riscontrato un problema con Simple Configurable Products Extension For Magento, in quanto pur avendolo installato e seguito le istruzioni(sono uscito da admin panel ecc ecc) il sistema x la creazione del prodotto configurabile continua a lavorare nello stesso modo.

    Sapere aiutarmi?
    Grazie

  26. avatarRoberto Rubino Autore

    Ciao Alessandro,
    se mi giri un link al modulo in questione posso vedere se riesco ad esserti d’aiuto…

  27. avataremt1o

    Perdonami, ho seguito alla lettera il tuo tutorial ma non riesco a mettere in sovrapposizione l’immagine dei 5gg con lìimmagine del prodotto, potresti indicarmi come fare cortesemente?
    Grazie mille.

  28. avatarRoberto Rubino Autore

    @emt1o

    Ciao,
    rispetto ai punti descritti in questa guida, in quale ti sei bloccato ? Non riesci a posizionarlo lato CSS, o non riesci proprio a visualizzare l’immagine ?

  29. avataremt1o

    @Roberto Rubino
    Grazie mille ma ho risolto diversamente e cioè ho creato un attributo di tipo menu a tendina e ho impostato li i tempi di consegna, dopo fatto questo ho inserito nel file phtml il seguente codice:

    load($_product->getId())->getAttributeText(‘shippingtime’);
    if ($_product->isAvailable()):
    ?>
    Tempi di consegna:

    Tempi di consegna:

    Facendo così mi escono i tempi di consegna sotto la disponibilità nella pagina del prodotto.
    Grazie mille lo stesso perchè senza quest’articolo non sarei stato illuminato.
    Continuate così siete un bel team e fate un bel lavoro.

  30. avataremt1o

    Pardon, evidentemente non mi ha fatto postare il codice, va bè fa lo stesso.
    In bocca al lupo e buona giornata a tutti.

  31. avatarArckstone

    Buonasera,
    volevo chiedervi se sapete indicarmi, come posso spostare il posizionamento degli attributi, nella pagina frontend dei prodotti.
    Per farmi meglio comprendere, tutti gli attributi che creiamo dei prodotti, quando apriamo una pagina di un prodotto, questi attributi vengono visualizzati in fondo alla pagina e noi vorremmo invece che fossero visualizzati per esempio, a destra ed appena sotto all’immagini.
    Sapete spiegarmi come fare?
    Spero sono riuscito a farmi comprendere.
    Vi ringrazio
    Rimango a vostra disposizione
    Attendo una vostra risposta
    Lo staff Arckstone