Rispondendo alle richieste di alcuni lettori, oggi spiegherò come districarsi tra i tag xml presenti nella parte layout di un tema.
Il funzionamento è molto complesso e sarebbe meglio analizzarlo file per file. Purtroppo qua non abbiamo abbastanza spazio per farlo quindi verranno riassunte le funzionalità principali di ogni tag fornendovi gli strumenti base per effettuare semplici modifiche.
Innanzitutto ogni file ha un tag unico di apertura che identifica la pagina di riferimento. Ad ogni aggiornamento, alcuni tag cambiano quindi verranno presi come esempio tag “inventati” nel senso che avranno un nome intuitivo. Non preoccupatevi: anche la struttura del layout di magento ha nomi intuitivi e richiamano la funzionalità che descrivono.
Ad esempio la pagina del catalogo prodotto si chiamerà <catalog_product> mentre quella generale valida per tutte le pagine sarà <default> .
Dentro ognuno di questi tag principali ci saranno poi i <block> che richiamano appunto i blocchi. Naturalmente come i tag html, questi verranno chiusi automaticamente con lo stesso tag se non contengono altri blocchi o istruzioni al loro interno. Viceversa dovrete aprire il tag con <block> , inserire altre istruzioni e poi chiudere con </block> . Se conoscete l’html questa sintassi non dovrebbe preoccuparvi minimamente.
Il tag ha diversi attributi:
type: indica la funzione che il blocco deve avere all’interno di Magento. Questo attributo non è modificato e deve essere sempre specificato e preciso.
name: indica il nome univoco dato al blocco.
template: indica il percorso relativo dove andare a pescare il template, ovvero la struttura in html del blocco.
action: serve principalmente per eseguire delle funzioni interne di Magento che si servono di javascript (esempio aggiungere/togliere link).
as: è l’identificatore che il blocco deve avere e che viene usato per richiamarlo tramite codice php nei file di template.
before e after: servono per definire la posizione di un blocco rispetto a un altro. Viene usato prevalentemente per ordinare i blocchi nei menu laterali.
Dopo i block ci sono i <reference>: questo tag non è un vero e proprio blocco ma è diciamo un “collegamento” a un altro blocco. Se ad esempio su file diversi dovete specificare la posizione di blocchi all’interno di uno stesso blocco (pensate ad esempio ai blocchi laterali quanti “sotto-blocchi” contengono) potete usare reference per richiamare il blocco che vi serve e inserirvi al suo interno i blocchi desiderati (altrimenti usando il tag creerete un secondo blocco gemello). Per richiamare quindi un blocco con dovete semplicemente aggiungere l’attributo name=”..” con il nome del blocco.
Commenti