X

Magento: aggiungere link alle pagine del CMS nel menù superiore

Magento, come ho scritto più volte su questo blog, è un’ottima piattaforma e-commerce ma abbastanza ostica da personalizzare.
I moltissimi temi disponibili per Magento spesso risolvono problemi di natura pratica andando incontro alle nostre esigenze, ma non sempre si riesce a trovare un tema che ci soddisfi in tutto.
Se si vuole, ad esempio, utilizzare il classico menù orizzontale superiore per linkare pagine create col CMS dobbiamo operare modificando un po’ il codice.
In Magento 1.7 Community Edition dobbiamo modificare

app/design/frontend/default/NomeDelTuoTemplate/template/page/html/topmenu.phtml (oppure header.phtml oppure un nome che indichi la zona superiore del template)

cercando il codice

 <?php if($_menu): ?>
<div>
<ul id=”nav”>
<li><a href=”/”>Home</a><li>
<?php echo $_menu ?>
</ul>
</div>
<?php endif ?>

e sostituendolo con
 <?php if($_menu): ?>
<div>
<?php echo $this->getLayout()->createBlock(‘cms/block’)->setBlockId(‘navigazione’)->toHtml() ?>
</div>
<?php endif ?>
in sostanza chiediamo di farci caricare il blocco statico chiamato navigazione invece della variabile $_menu
Nota che ho tolto anche i tag <ul id=”nav”><ul>
Il blocco statico lo creeremo come sempre andando in CMS->Blocchi statici->Aggiungi un nuovo blocco (io l’ho chiamato ‘navigazione’)
Ecco il codice da inserire (non considerare la classe associata al primo list item)
In questo modo nel menù superiore del template di Magento non si caricheranno, ad esempio come spesso accade, le categorie merceologiche ma le pagine del CMS specificate nel blocco statico ‘navigazione’.
Ho preferito aggiungere qui i tag <ul> della lista non ordinata perchè se inseriamo solo i punti non ordinati <li> l’editor aggiunge <ul></ul> autonomamente. Inoltre possiamo avere anche un controllo più stretto sulla classe da applicare alla lista.
via [Summation]
Sergio Gandrus: Da febbraio 2024 lavoro come CTO presso Deva Connection Il mio stack è PHP/MySQL/Git/Docker. Lavoro con Agile (Scrum) e utilizzo principalmente AWS come cloud provider. Sono papà e marito. Nel tempo libero mi piace leggere, il buon vino e viaggiare.

View Comments (2)