RSS
 

Articles associés au tag ‘produits’

Afficher des produits de son choix sur une page

24 juin

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
slideshow magento

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
Ajouter un attribut

2- Insérer l’attribut dans le groupe d’attribut souhaité dans Catalogue/Attribut/Gérer les groupes d’attribut
Groupe 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