Magento è una piattaforma di e-commerce incredibilmente potente. In questa miniserie impareremo come iniziare con la piattaforma, conoscere i termini, impostare un negozio e tutti gli aspetti correlati e imparare finalmente come personalizzarlo per renderlo nostro.
In questa quinta parte, costruiremo una delle principali viste del nostro negozio: la pagina delle informazioni sul prodotto. Eccitato? Iniziamo!
Nell'ultima parte, abbiamo definito il framework per il tema costruendo le parti ripetitive del tema e definendo essenzialmente la disposizione generale del tema.
Abbiamo anche dato uno sguardo pratico a come la tematizzazione in Magento funziona esaminando il modo in cui il layout è stato costruito, come funzionano i blocchi e come si inseriscono tutti i diversi pezzi del puzzle.
Oggi costruiremo la pagina di visualizzazione dei singoli prodotti. Proprio come prima, i file sorgente, sia front-end che back-end, sono inclusi. Puoi usarlo per vedere come appare la pagina, ma al di fuori di esso, il tema dovrebbe apparire infranto poiché, sai, non abbiamo ancora toccato il resto delle visualizzazioni. Quindi, finché non costruiamo il resto, cerca di non avventurarci fuori dalla nostra sandbox.
Il nostro obiettivo per questa pagina specifica è relativamente semplice. Vogliamo una pagina senza sciocchezze che faccia solo l'essenziale. Pertanto, ho stilato una breve lista di elementi che ritengo abbia bisogno:
Questo è tutto. Voglio mantenerlo il più semplice possibile e quindi ho deciso di non farlo. Una volta che hai imparato i principi generali, sentiti libero di aggiungere il maggior numero possibile di caratteristiche di whizbang.
La pagina deve fondamentalmente apparire così:
Per prima cosa considereremo l'HTML solo per la parte del contenuto. Suppongo che tu sia abbastanza fluente in HTML e CSS, quindi salterò alle parti abbastanza importanti.
Disponibilità disponibilePrezzo $ 29.00Aggiungi al carrelloPhotoshop in HTML
Veloce panoramica
Descrizione del prodotto
Innanzitutto, nota che ho avvolto l'immagine del prodotto con un div per rendere più semplice l'aggiunta di funzionalità in futuro. Supponiamo che tu voglia aggiungere una didascalia rapida all'immagine visualizzata in futuro, in questo modo ci permetterà di aggiungere questo molto più velocemente.
Abbiamo un altro elemento div che contiene le informazioni sulla disponibilità e sui prezzi insieme a Aggiungi al carrello pulsante. Ci metteremo un po 'in ordine con un po' di CSS3.
Il resto dell'HTML è molto semplice. Il titolo risiede in una sezione h1 mentre le intestazioni delle singole sezioni occupano h2. La panoramica rapida è nidificata in un paragrafo mentre la panoramica completa occupa un div.
Ora possiamo passare alla parte styling.
Passaggio 2: il CSS
/ * Pagina prodotto * / # immagine-prodotto principale margine: 0 20px 10px 0; imbottitura: 10px; fluttuare: a sinistra; border: 1px solid # E1E1E1; sfondo: # F3F3F3; # product-details width: 180px; imbottitura: 10px; float: giusto; border: 1px solid # E1E1E1; sfondo: # F3F3F3; margine: 0 0 0 20 px; # span disponibilità prodotto. disponibile, # span prezzo prodotto colore: # 7db000; float: giusto; . button margin: 10px auto; blocco di visualizzazione; larghezza: 140 px; imbottitura: 5px 10px; allineamento del testo: centro; decorazione del testo: nessuna; colore: # 555; border: 1px solid #ccc; font-size: 18px; sfondo: #ddd; border-radius: 12px; -webkit-border-radius: 12px; -moz-border-radius: 12px; box-shadow: 1px 1px 2px rgba (0,0,0, .5); -webkit-box-shadow: 1px 1px 2px rgba (0,0,0, .5); -moz-box-shadow: 1px 1px 2px rgba (0,0,0, .5); text-shadow: #fff 0px 1px 1px; background: -webkit-gradient (lineare, in alto a sinistra, in basso a sinistra, da (#eeeeee), a (#cccccc)); background: -moz-linear-gradient (in alto, #eeeeee, #cccccc); .button: hover background: # 014464; background: -webkit-gradient (lineare, a sinistra in alto, a sinistra in basso, da (#cccccc), a (# 999999)); background: -moz-linear-gradient (in alto, #cccccc, # 999999); colore: # 000; . Pulsante: attivo -moz-box-shadow: 0 2px 6px nero; -webkit-box-shadow: 0 2px 6px nero;Niente di eccezionale qui. CSS di base per posizionare gli elementi in posizione.
Ho anche usato un po 'di CSS3 per rendere i pulsanti un po' più belli.
Passaggio 3: creazione del nostro file catalog.xml
Come accennato nella prima parte, ogni modulo riceve il proprio file XML per dettare quali elementi includere e il layout generale della pagina. La pagina che stiamo costruendo oggi si basa su un file chiamato catalog.xml per definirne il contenuto e la struttura.
Questo file dovrebbe essere presente nel disposizione cartella quindi creiamo un file XML e nominalo Catalogare.
Il file completo per oggi sembra così. Spiegherò ogni bit parte per parte qui sotto.
Pagina / 1column.phtml css / product.css Ignorare le dichiarazioni iniziali della versione XML e di layout. Non hanno alcun significato per noi ora.
Innanzitutto, facciamo sapere al sistema che intendiamo modificare la parte di visualizzazione del prodotto del sistema. Questo è perché catalog.xml ospita il layout per una serie di altre visualizzazioni e quindi è fondamentale specificare quale vista intendiamo modificare.
Pagina / 1column.phtml Ora, diciamo a Magento di caricare il 1column.phtml file come modello principale principale per questa vista. Questo perché ogni singola vista può utilizzare qualsiasi struttura predefinita. Ad esempio, la tua home page potrebbe utilizzare una struttura personalizzata molto complessa, la pagina del prodotto una doppia colonna e la pagina di ricerca un layout a colonna singola.
Se non viene specificato nulla, verrà caricato il modello predefinito menzionato in page.xml. Dal momento che lo usiamo per tutto il resto, questa parte è ridondante ma quando si modifica questo modello per uso personale, la modifica del nome del file è molto più semplice dell'aggiunta di blocchi di XML al file di layout.
css / product.css E ora ci imbattiamo in una delle parti più eleganti di Magento. Sì, possiamo lanciare tutti i nostri CSS specifici per le view in un gigantesco file CSS, ma non siamo cavernicoli, vero? Grida di richieste HTTP multiple a parte, questo metodo ci consente di ottimizzare meglio il nostro CSS.
Per prima cosa acquisiamo un riferimento alla sezione head del file e quindi inseriamo il nostro contenuto specifico della pagina in esso. Ecco, sto inserendo un file chiamato product.css che contiene tutti i CSS specifici per le pagine che abbiamo visto sopra.
Nota che non sei limitato ai CSS. Anche JS e altre attività sono possibili.
Ora chiediamo a Magento di utilizzare un modello specifico per la parte di contenuto della pagina
Questo blocco definisce tutti i singoli blocchi all'interno del blocco del contenuto principale. In sostanza, utilizziamo i singoli modelli per visualizzare l'immagine del prodotto, la descrizione e la descrizione, la disponibilità / prezzo e infine la funzionalità di aggiunta al carrello.
E con questo, la nostra base catalog.xml il file è completo.
Passaggio 4: creazione del nostro modello principale
Ok, ora che abbiamo specificato il nostro layout possiamo passare alla creazione di Catalogo / prodotto / view.phtml file che abbiamo specificato come modello principale per la sezione del contenuto nell'XML in precedenza.
Questo file è leggermente diverso dal modello di scheletro che abbiamo creato nell'ultima parte, perché aggiungeremo alcune piccole cose direttamente invece di passare attraverso il percorso del modello per evitare il rigonfiamento e lo smidgen delle chiamate API per aiutarci.
helper ( 'Catalogo / output'); $ _product = $ this-> getProduct (); ?>