Categorie
Blog

Impostare un layout personalizzato per una categoria

Capita molto spesso di dover impostare un template personalizzato solamente per un categoria di prodotti.

Tutti i prodotti della categoria che vogliamo mostrare in modo differente possono avere delle esigenze particolari, tipo una grafica ad-hoc, dei blocchi particolari e chi più ne ha più ne metta.

Quale è la soluzione che ci viene subito alla mente?

Creare un nuovo template uguale al precedente ed customizzare il list.phtml ed il view.phtml inserendo li tutte le modifiche che vogliamo. Questa soluzione funziona ma non è delle più corrette perchè in futuro dovremo portarci tutte le modifiche in due posti, il template originale e quello della nuova categoria.

La soluzione corretta è quindi quella copiare il file
[sourcecode language=”php”]
/app/design/frontend/default/il-tuo-tema/template/page/list.phtml

nel nuovo file

/app/design/frontend/default/il-tuo-tema/template/page/list-new.phtml
[/sourcecode]

Poi accediamo al magento, nell’amministrazione: Catalogo > Gestione Categorie, clicchiamo sulla categoria della quale vogliamo impostare il nuovo template, andiamo nel tab Design Personalizzato, selezioniamo il tema sotto il quale abbiamo creato il list-new.phtml e dentro Custom Layout Update inseriamo il seguente codice:

[sourcecode language=”xml”]
<reference name="product_list">
<action method="setTemplate">
<template>catalog/product/list-new.phtml</template>
</action>
</reference>
[/sourcecode]

Questo è tutto. La nostra categoria avrà un nuovo design senza dover creare un nuovo tema!

Categorie
Blog

Cancellare tutte le url rewrite dei prodotti e categorie

Vi sarà capitato di rinominare delle categorie o prodotti e non fare caso al checkbox che sta sotto l’url key del prodotto o categoria che dice:

 

 

Il checkbox create permanent Redirect for old url crea dei redirect 301 quando si cambia la url di una categoria o un prodotto, in modo che gli spider ed i visitatori riescano a raggiungere la categoria ed il prodotto anche quando la url cambia.

Questa è una ottima cosa per i siti in produzioni che sono già stati indicizzati da google, ma se si vuole assegnare un nome ad una categoria che è stato precedentemente utilizzato a volte magento internviene nelle url inserendo un -1, -1 alla url, ad esempio facendo riferimento alla url della immagine soprastante quel design mi veniva trasformato in design-1.html

La domanda quindi è: Come posso cancellare tutte le url rewrite in modo da ripartire da zero con delle url pulite pulite?

La soluzione è cancellare la tabella core_url_rewrite con la seguente query:

[sourcecode language=”sql”]
delete FROM `core_url_rewrite`
[/sourcecode]

La tabella viene così svuotata. Voi non dovrete fare altro che loggarvi di nuovo nella amministrazione del vostro magento e reindicizzare le url delle categoria e prodotti: