Question

J'ai fait des recherches sur ce problème concernant Magento 1.9 qui n'ajoute pas la catégorie à la page d'accueil.J'ai donc fini par ajouter :

{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="15" template="catalog/product/list.phtml"}}

Vers le contenu de la page d'accueil.Il apparaît également sur la page d'accueil MAIS :seulement avec 1 produit sur 5.Pourquoi et est-ce que cela peut être changé ?

Je suis encore très nouveau sur Magento et je n'ai rien changé au niveau de la mise en page.J'ai vu ce post : Même problème, mais personne n'a répondu (et je ne peux pas faire de commentaire), j'ai suivi ces étapes - mais tout cela n'a pas fonctionné.

Était-ce utile?

La solution

Utilisez-vous le thème rwd de Magento 1.9 ?Si tel est le cas, le problème peut provenir du fichier modèle catalog/product/list.phtml.

Dans catalog/product/list.phtml du thème rwd le code suivant

de la ligne 133 à 140

<?php $_nameAfterChildren = $this->getChild('name.after')->getSortedChildren(); foreach($_nameAfterChildren as $_nameAfterChildName): $_nameAfterChild = $this->getChild('name.after')->getChild($_nameAfterChildName); $_nameAfterChild->setProduct($_product); ?> <?php echo $_nameAfterChild->toHtml(); ?> <?php endforeach; ?>

et de la ligne 178 à 186

<?php //set product collection on after blocks $_afterChildren = $this->getChild('after')->getSortedChildren(); foreach($_afterChildren as $_afterChildName): $_afterChild = $this->getChild('after')->getChild($_afterChildName); $_afterChild->setProductCollection($_productCollection); ?> <?php echo $_afterChild->toHtml(); ?> <?php endforeach; ?>

provoquera des erreurs si vous ajoutez le bloc dans la mise en page sans les blocs enfants « name.after » et « after ».

Si vous souhaitez que cela fonctionne sur votre page d'accueil, vous devez créer un nouveau modèle dans le thème, par exemple catalog/product/list_home.phtml, et copier le code de catalog/product/list.phtml mais supprimer le code des lignes I. indiqué.Vous devez ensuite utiliser le nouveau modèle dans le bloc de la page d'accueil :

{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="15" template="catalog/product/list_home.phtml"}}

Autres conseils

Supprimer ces lignes de catalog/product/list.phtml

<?php
    //set product collection on after blocks
    $_afterChildren = $this->getChild('after')->getSortedChildren();
    foreach($_afterChildren as $_afterChildName):
        $_afterChild = $this->getChild('after')->getChild($_afterChildName);
        $_afterChild->setProductCollection($_productCollection);
    ?>
    <?php echo $_afterChild->toHtml(); ?>
<?php endforeach; ?>

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top