Afficher les produits sur la page d'accueil à l'aide de la collection de filtres Magento par attribut, champ
Publié: 2014-10-07Aujourd'hui, Magesolution revient avec le tutoriel Magento sur quelques méthodes efficaces pour afficher les produits sur la page d'accueil à l'aide de la collection de filtres Magento par attribut, champ
Dernière mise à jour : Nous venons de publier la version 2.0 du thème Claue Multipurpose Magento 2, avec de nombreuses améliorations de performances et des fonctionnalités exclusives. Découvrez ce thème maintenant : Thème Claue Magento 2. 0
Démo en direct
Claue - Clean, Minimal Magento 2 & 1 Theme est un excellent modèle pour une boutique de commerce électronique moderne et propre avec plus de 40 mises en page de page d'accueil et des tonnes d'options pour les mises en page de magasin, de blog, de portefeuille, de localisateur de magasin et d'autres pages utiles. La version 2. 0 de Claue est livrée avec un tas de fonctionnalités exclusives, notamment :
- Être basé sur le thème Luma.
- Répondre à toutes les normes du thème Magento
- Amélioration significative des performances
- Compatible avec la plupart des extensions tierces.
- Entièrement compatible avec Magento 2.4.x
Cette deuxième version avancée se différencie complètement de la précédente. Ainsi, si vous utilisez la version 1 de Claue et que vous souhaitez mettre à jour vers la version 2 de Claue, vous ne pouvez que reconstruire un nouveau site Web plutôt que de mettre à jour à partir de l'ancienne version. Maintenant, revenons au sujet principal.
Tout d'abord, expliquez comment Magento filtre une collection. Utilisez ceci pour expliquer comment Magento filtre une collection par attribut, champ dans un modèle, afin que les gens puissent apprendre à écrire leurs propres collections.
addAttributeToFilter() est une fonction qui peut être appelée sur une collection dans Magento. Dans
bref, il ajoute une condition à la partie WHERE de la requête MySQL utilisée pour extraire une collection de la base de données.
Par example:
$_products = Mage::getModel ('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image')) ->addAttributeToFilter('sku', array('like' => 'UX%')) ->load();
Le code ci-dessus obtiendrait une collection de produits, chaque produit ayant son nom, son URL,
prix et petite image chargée dans son tableau de données. La collection de produits serait filtrée et ne contiendrait que les produits dont le SKU commence par UX.
Filtration
Nous pouvons filtrer nos collections avec la fonction addFieldToFilter(). En SQL, vous pouvez les considérer comme vos clauses WHERE.
Disons que nous voulons obtenir un produit par le sku PRODUCT001
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('sku','PRODUCT001'); $product = $products->getFirstItem();
Essayons le conditionnel supérieur à. Fournissez simplement un tableau avec le type et la valeur conditionnels.
Produits supérieurs à 100 $ :
$products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToFilter('price', array('gt' => '100'));
Magento nous propose de nombreuses conditions de filtrage parmi lesquelles choisir :
Filtrer les codes d'état
Code d'attribut | Équivalent SQL | La description |
éq | = | |
neq | != | |
Comme | COMME | |
n'aime pas | PAS COMME | |
dans | DANS () | |
nin | PAS DEDANS () | |
est | EST | |
non nul | EST NON NULLE | |
nul | EST NULL | |
plusq | >= | |
gt | > | |
ça | < | |
gteq | >= | |
lteq | <= | |
jeu fin | FIND_IN_SET() | |
à partir de | >= | à utiliser avec les dates |
à | <= | à utiliser avec les dates |
Date | indicateur facultatif à utiliser avec from/to pour spécifier que la valeur de comparaison doit d'abord être convertie en date | |
date-heure | drapeau facultatif à utiliser avec from/to pour spécifier que la valeur de comparaison doit d'abord être convertie en une date/heure |
Si un tableau est passé mais qu'aucun code d'attribut n'est spécifié, il sera interprété comme un groupe de conditions OU qui seront traitées de la même manière.
Si aucun code d'attribut n'est spécifié, la valeur par défaut est eq.
Conditions addAttributeToFilteraddAttributeToFilter Conditionals
Égal à : éq
$_collection-&gt;addAttributeToFilter('status', array('eq' =&gt; 1));
Pas égal à - neq
$_collection-&gt;addAttributeToFilter('sku', array('neq' =&gt; 'test-product'));
Comme - comme
$_collection-&gt;addAttributeToFilter('sku', array('like' =&gt; 'UX%'));
Une chose à noter à propos de like est que vous pouvez inclure des caractères génériques SQL tels que le
signe de pourcentage.
Pas comme - nlike
$_collection-&gt;addAttributeToFilter('sku', array('nlike' =&gt; 'err-prod%'));
Dans - dans
$_collection-&gt;addAttributeToFilter('id', array('in' =&gt; array(1,4,74,98)));
Lors de l'utilisation de in, le paramètre value accepte un tableau de valeurs.
Pas dans - nin
$_collection-&gt;addAttributeToFilter('id', array('nin' =&gt; array(1,4,74,98)));
Null Null
$_collection-&gt;addAttributeToFilter('description', 'null');
Non NULL - non nul
$_collection-&gt;addAttributeToFilter('description', 'notnull');
Supérieur à - gt
$_collection-&gt;addAttributeToFilter('id', array('gt' =&gt; 5));
Moins que - lt
$_collection-&gt;addAttributeToFilter('id', array('lt' =&gt; 5));
Supérieur ou égal à Togteq
$_collection-&gt;addAttributeToFilter('id', array('gteq' =&gt; 5));
Inférieur ou égal à - lteq
$_collection-&gt;addAttributeToFilter('id', array('lteq' =&gt; 5));
OU état
$_collection-&gt;addAttributeToFilter(array( array( 'attribute' =&gt; 'field_name', 'in' =&gt; array(1, 2, 3), ), array( 'attribute' =&gt; 'date_field', 'from' =&gt; '2010-09-10', ) ));
Afficher le nouveau produit : utilisation de addAttributeToFilter par attribut
Étape 1 : Dans app/code/local/Mage/Catalog/Block/Product (si ce dossier n'existe pas, merci de le créer). Créez un fichier de bloc (Newproducts.php) qui s'étend à
Mage_Catalog_Block_Product_List.
app/code/local/Mage/Catalog/Block/Product/Newproducts.php
&lt;?php class Mage_Catalog_Block_Product_Newproducts extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $todayDate = Mage::app()-&gt;getLocale()-&gt;date()-&gt;toString(Varien_Date::DATETIME_INTERNAL_FORMAT); $collection = Mage::getResourceModel('catalog/product_collection') -&gt;addAttributeToSelect(Mage::getSingleton('catalog/config')-&gt;getProductAttributes()) -&gt;addStoreFilter() -&gt;addPriceData() -&gt;addTaxPercents() -&gt;addUrlRewrite() -&gt;addAttributeToFilter('news_from_date', array('date' =&gt; true, 'to' =&gt; $todayDate)) -&gt;addAttributeToFilter('news_to_date', array('or' =&gt; array( 0 =&gt; array('date' =&gt; true, 'from' =&gt; $todayDate), 1 =&gt; array('is' =&gt; new Zend_Db_Expr('null'))) ), 'left') -&gt;addAttributeToSort('news_from_date', 'desc') -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } }
Étape 2 : Dans le fichier de mise en page (cms.xml) ou toute page CMS, ajoutez le code suivant :
Pour le fichier de mise en page (cms.xml) :
&lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_newproducts&quot; name=&quot;product_new&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
Pour toute page CMS (par exemple : page d'accueil) :
Allez dans CMS->Pages, modifiez la page d'accueil comme ceci :
Ajoutez le code suivant au champ Layout Update XML :
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_newproducts&quot; name=&quot;product_new&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
Afficher les produits les plus vendus : utilisation de addAttributeToFilter par attribut
Similaire pour afficher le nouveau produit sur la page d'accueil.
Etape 1 : Dans app/code/local/Mage/Catalog/Block/Product (si ce dossier n'existe pas, merci de le créer). Créez un fichier de bloc (Bestsellers.php) qui s'étend à Mage_Catalog_Block_Product_List.
app/code/local/Mage/Catalog/Block/Product/Bestsellers.php
&lt;?php class Mage_Catalog_Block_Product_Bestsellers extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $storeId = Mage::app()-&gt;getStore()-&gt;getId(); $collection = Mage::getResourceModel('reports/product_collection') -&gt;addOrderedQty() -&gt;addAttributeToSelect('*')-&gt;setStoreId($storeId) -&gt;addStoreFilter($storeId) -&gt;addUrlRewrite() -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()) -&gt;setOrder('ordered_qty', 'desc'); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } }
Étape 2 : Dans le fichier de mise en page (cms.xml) ou toute page CMS, ajoutez le code suivant :
Pour le fichier de mise en page (cms.xml) :
&lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_bestsellers&quot; name=&quot;product_bestseller&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
Pour toute page CMS (par exemple : page d'accueil) :
Allez dans CMS->Pages, modifiez la page d'accueil comme ceci :
Ajoutez le code suivant au champ Layout Update XML :
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_bestsellers&quot; name=&quot;product_bestseller&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
Afficher les produits avec un attribut ou un champ personnalisé
Création d'un attribut – En vedette
- Connectez-vous au panneau d'administration de Magento
- Accédez à "Gérer les attributs" sous Catalogue -> Attributs -> Gérer les attributs
- En haut à droite, cliquez sur "Ajouter un nouvel attribut"
- Vous êtes maintenant sur la page de modification d'attribut et l'onglet Propriétés. Il ressemble à ceci :
Onglet Propriétés
Onglet Frontend
- Identificateur d'attribut : il s'agit du nom de l'attribut utilisé par le système. Les espaces ne peuvent pas être utilisés dans ce champ. Nous taperons en vedette.
- Portée : cela détermine le niveau du magasin auquel cet attribut sera enregistré pour tous les produits. Si vous choisissez Global et que vous modifiez l'option En vedette pour le produit 123 dans le magasin A sur Oui, les produits 123 en vedette dans le magasin B (et tous les autres magasins) seront également mis à jour sur Oui.
- Type d'entrée de catalogue : décrit le type de données que l'attribut stockera. Ce qui est défini ici détermine comment la saisie des données pour cet attribut aura lieu. Nous utiliserons Oui/Non puisque nous voulons sélectionner la valeur pour.
- Valeur par défaut : vous pouvez sélectionner une valeur qui sera automatiquement remplie pour les nouveaux produits.
- Valeur unique : si "oui", les données enregistrées dans cet attribut doivent être uniques pour chaque produit. Dans ce cas, nous dirons "non", car plusieurs vedettes peuvent avoir la même vedette.
- Valeurs requises : si "oui", vous devrez sélectionner des données dans ce champ d'attribut lors de l'enregistrement d'un produit qui l'utilise.Validation des entrées :
- Appliquer à : Ceci détermine pour quels types de produits cet attribut s'affichera. Par exemple, le prix n'aurait pas de sens dans un produit groupé, car chaque produit simple associé au produit groupé aura son propre prix. Par conséquent, vous pouvez définir le prix pour qu'il ne s'applique pas au produit groupé, et vous ne vous gratterez pas la tête sur les chiffres à écrire.
- Utiliser dans la recherche rapide/avancée : Si "oui", les données enregistrées dans cet attribut pourront être recherchées dans le front-end dans la recherche rapide et la recherche avancée, respectivement.
- Comparable sur Front-end : Si "oui", cet attribut sera affiché dans une comparaison de produits, tant qu'au moins un produit de la liste de comparaison contient une valeur pour cet attribut.
- Utiliser dans la navigation par couches : si "filtrable", ces données seront disponibles en tant que filtre dans la navigation par couches de Magento. Filtrable (avec résultats) signifie que seules les valeurs associées à des produits spécifiques dans une page de catégorie donnée seront répertoriées dans le menu de navigation par couches. Filtrable (aucun résultat) signifie que toutes les valeurs existantes pour un attribut s'afficheront dans le menu, même si l'utiliser comme filtre ne produira aucun résultat. Il existe une condition pour utiliser les attributs dans la navigation en couches : le type d'entrée doit être Liste déroulante, Sélection multiple ou Prix.
- Position : Cela détermine la position de cet attribut dans le menu Layered Nav.
- Visible sur les pages du catalogue sur le front-end : si "non", cet attribut ne sera pas affiché dans la page d'informations sur le produit. La "visibilité" contrôle uniquement si l'attribut s'affiche ou non dans le front-end. Gardez à l'esprit - si vous définissez un attribut sur "Visible : Non" et le laissez sur "Comparable : Oui", cet attribut s'affichera toujours en comparaison.
Gérer l'étiquette / les options
Sous cet onglet, vous pouvez entrer l'étiquette de l'attribut dans le front-end. Si vous contrôlez des magasins dans plusieurs langues, vous pouvez saisir le libellé dans chaque langue sous cet onglet. Si l'étiquette d'un magasin est vide, ce magasin recherchera l'étiquette par défaut et utilisera celle-ci. Ici, nous allons entrer "En vedette" sous "Par défaut".
Appliquer un attribut pour les ensembles d'attributs – Par défaut
- Connectez-vous au panneau d'administration de Magento
- Accédez à "Gérer les attributs" sous Catalogue -> Attributs -> Gérer les ensembles d'attributs
- Cliquez sur "Par défaut" ou sur n'importe quel ensemble d'attributs.
- Vous êtes maintenant sur la page de modification de l'ensemble d'attributs et déplacez Featured vers Group General ou n'importe quel groupe. Il ressemble à ceci :
Appliquer à un produit
Maintenant, pour appliquer cet attribut sélectionnable à un produit, ajoutez-le simplement à un ensemble d'attributs et créez un nouveau produit à l'aide de cet ensemble. Vous trouverez ci-dessous un exemple simplifié de l'onglet Général de création d'un nouveau produit dans l'administrateur :
Similaire pour afficher le nouveau produit sur la page d'accueil.
Étape 1 : Dans app/code/local/Mage/Catalog/Block/Product (si ce dossier n'existe pas, merci de le créer). Créez un fichier de bloc (Featured.php) qui s'étend à Mage_Catalog_Block_Product_List.
app/code/local/Mage/Catalog/Block/Product/ Featured.php
Dans ce code suivant, utilisez addAttributeToFilter pour l'attribut de filtre Featured et utilisez addFieldToFilter pour le champ de filtre SKU du produit ayant une valeur de sku comme "PROD0003".
&lt;?php class Mage_Catalog_Block_Product_Featured extends Mage_Catalog_Block_Product_List { protected function _getProductCollection() { if (is_null($this-&gt;_productCollection)) { $collection = Mage::getResourceModel('catalog/product_collection') -&gt;addAttributeToSelect(Mage::getSingleton('catalog/config')-&gt;getProductAttributes()) -&gt;addStoreFilter() -&gt;addPriceData() -&gt;addTaxPercents() -&gt;addUrlRewrite() -&gt;addAttributeToFilter('featured', array('eq' =&gt; 1)) -&gt;addFieldToFilter('sku', array('like', 'PROD0003')) -&gt;setPageSize($this-&gt;get_prod_count()) -&gt;setCurPage($this-&gt;get_cur_page()); Mage::getSingleton('catalog/product_status')-&gt;addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')-&gt;addVisibleInCatalogFilterToCollection($collection); $this-&gt;setProductCollection($collection); } return $collection; } } Step 2: In layout file(cms.xml) or any CMS Page add following code: For layout file(cms.xml): &lt;cms_index_index translate=&quot;label&quot;&gt; &lt;label&gt;CMS Home Page&lt;/label&gt; &lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_featured&quot; name=&quot;product_featured&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt; &lt;/cms_index_index&gt;
Pour toute page CMS (par exemple : page d'accueil) :
Allez dans CMS->Pages, modifiez la page d'accueil comme ceci :
Ajoutez le code suivant au champ Layout Update XML :
&lt;reference name=&quot;content&quot;&gt; &lt;block type=&quot;catalog/product_featured&quot; name=&quot;product_featured&quot; template=&quot;catalog/product/list.phtml&quot;&gt; &lt;block type=&quot;catalog/product_list_toolbar&quot; name=&quot;product_list_toolbar&quot; template=&quot;catalog/product/list/toolbar.phtml&quot;&gt; &lt;block type=&quot;page/html_pager&quot; name=&quot;product_list_toolbar_pager&quot;/&gt; &lt;/block&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;empty&lt;/layout&gt;&lt;count&gt;6&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;one_column&lt;/layout&gt;&lt;count&gt;5&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_left&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;two_columns_right&lt;/layout&gt;&lt;count&gt;4&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;addColumnCountLayoutDepend&quot;&gt;&lt;layout&gt;three_columns&lt;/layout&gt;&lt;count&gt;3&lt;/count&gt;&lt;/action&gt; &lt;action method=&quot;setToolbarBlockName&quot;&gt;&lt;name&gt;product_list_toolbar&lt;/name&gt;&lt;/action&gt; &lt;/block&gt; &lt;/reference&gt;
N'hésitez pas à partager vos impressions et idées dans les commentaires ci-dessous !