Par exemple, je veux faire figurer une sélection de produits en haut de page, dans un slideshow, dans la page de résultats.
Voir exemple : http://www.import-auto-discount.com/achat-voiture-neuve.html

On veut afficher des produits choisis dans une page
1 – Création d’un attribut nommé defil dans catalogue/Attribut/Gérer les attribut/ Nouvel attribut

2- Insérer l’attribut dans le groupe d’attribut souhaité dans Catalogue/Attribut/Gérer les groupes d’attribut

3 – Copier app/code/core/Mage/Catalog/Block/Product/List/Promotion.php et l’enregistrer sous app/code/local/Mage/Catalog/Block/Product/List/Defil.php
et modifier ces lignes :
class Mage_Catalog_Block_Product_List_Defil extends Mage_Catalog_Block_Product_List // On change le nom de la classe
{
protected function _getProductCollection()
{
if (is_null($this->_productCollection)) {
$collection = Mage::getResourceModel('catalog/product_collection');
Mage::getModel('catalog/layer')->prepareProductCollection($collection);
// your custom filter
$collection->getSelect()->order('rand()'); // On ajoute un affichage aléatoire
$collection->addAttributeToFilter('defil', 1) // On remplace promotion par defil
->addStoreFilter()
->setPage(1, 2) // On limite le nombre de résultats affichés à 2
->load();
$this->_productCollection = $collection;
}
return $this->_productCollection;
}
}
4- Les produits pour lesquels vous sélectionnez Oui (dans le back-office) seront affichés sur le bloc defil qui peuvent être affichés grâce à une mise en page personnalisée.
On affiche le résultat avec la ligne suivante placée dans un layout :
<block type=”catalog/product_list_defil” name=”product_defil” template=”catalog/product/list.phtml”/>
Ou dans le contenu d’une page ou d’un bloc CMS
{{block type='catalog/product_list_defil' template='catalog/product/list.phtml'}}
5- Il est possible de modifier sa mise en page en dupliquant le fichier app/design/frontend/default/mon-theme/template/catalog/product/list.phtml par ma-liste.phtml
Alors on utilisera :
<block type=”catalog/product_list_defil” name=”product_defil” template=”catalog/product/ma-liste.phtml”/>
ou
{{block type='catalog/product_list_promotion' template='catalog/product/ma-liste.phtml'}}
Pour insérer ces articles dans un slideshow, rendez-vous à l'article :
Afficher des articles dans un slideshow