Déplacer la recherche avancée de Magento dans un bloc statique

Blog de l'équipe Magento

Pour mettre la recherche avancée dans un bloc statique Magento:

  • Créer un bloc statique dans l’admin de magento : « sidebar_search » et y mettre le code {{block type= »catalogsearch/advanced_form » name= »catalogsearch_advanced_form » template= »catalogsearch/advanced/form.phtml »}}
  • Dans le fichier /app/design/frontend/default/MON THEME/layout/cms.xml. Appeler le bloc statique : dans <default> </default>
<reference name= »left »>
<block type= »cms/block » name= »sidebar_search » before= »-« >
<action method= »setBlockId »><block_id>sidebar_search</block_id></action>
</block>
</reference>
</default>

ATTENTION : en testant le bloc de recherche, vous vous apercevrez que lorsqu’on l’on fait une recherche, on tombe sur la page Erreur de Magento.

Pour cela, il faut copier le fichier app/code/core/Mage/CatalogSearch/Model/Advanced.php dans app/code/local/Mage/CatalogSearch/Model/Advanced.php et modifier la fonction « function getSearchPostUrl »

Changer la ligne 252 par

   public function getSearchPostUrl()
{
return $this->getUrl(‘catalogsearch/advanced/result’);
}

Puis régler votre style.css

Cédric
co-fondateur de l'agence
Voir les articles de Cédric