Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?

[1.4.1] Paginer les produits d'une catégorie
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 1
SUJET:

[1.4.1] Paginer les produits d'une catégorie

#36401
Herode
Expert Boarder
Messages: 84
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

[1.4.1] Paginer les produits d'une catégorie

Il y a 1 Année, 5 Mois
Karma: 0  
Bonjour à tous,

soit une catégorie contenant 20 produits. La pagination est règlée sur '8 par page', je m'attends donc à avoir quelque part une liste de liens de pagination.

Malheureusement, non, comme on le voit ici :
www.ebook-en-poche.fr/index.php/desirs-d.../temps-modernes.html

J'ai essayé de récupérer cette barre de pagination comme indiqué ici :
http://www.semtruth.com/category/website...n/magento-tutorials/

mais le résultat est le même.

J'avoue que je suis un peu perdu...
 
Dernière édition: 03/09/10 à  11:41 Par Herode.
L'administrateur a désactivé l'accès public en écriture.
#36414
ceddddd
Platinum Boarder
Messages: 2634
graphgraph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin bloggento ced__@hotmail.fr

Re:Paginer les produits d'une catégorie

Il y a 1 Année, 5 Mois
Karma: 27  
Bonjour,
Quel thème tu utilises ?
Il manque le pager qui permet de changer de page.
Regarde si l'appel se fait bien dans le fichier toolbar.phtml
 
Prestataire magento Site magento
Nouveautés magento
L'administrateur a désactivé l'accès public en écriture.
#36420
Bousk
Senior Boarder
Messages: 41
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Paginer les produits d'une catégorie

Il y a 1 Année, 5 Mois
Karma: 0  
Bonjour,

il y a un bug avec le pager de la 1.4
le phtml se trouve dans page/html/pager.phtml mais si tu regardes dans Mage_Catalog_Block_Product_List_Toolbar_Pager le constructeur fait un $this->setTemplate('catalog/product/list/toolbar/pager.phtml');
Sur la page catalogue, le template est initialisé par le layout, mais si tu surcharges un peu tout ça, plus de pager.

La solution la plus simple : copier le pager.phtml de page/html/pager.phtml vers catalog/product/list/toolbar/pager.phtml
 
L'administrateur a désactivé l'accès public en écriture.
#36429
Herode
Expert Boarder
Messages: 84
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Paginer les produits d'une catégorie

Il y a 1 Année, 5 Mois
Karma: 0  
OK ! Grâce à vos indications, j'ai pu aboutir à une solution qui semble stable :

1 - le pager est bien appelé dans template/catalog/products/list/toolbar.phtml, mais le code fabricant la barre avec un lien par page n'est pas implémenté.

2 - j'ai donc récupéré ce code dans template/page/html/pager.html

mais sur l'appel à $this->isLastPage(), la page plante.

Après vérification, je m'aperçois que $this est de la classe Mage_Catalog_Block_Product_List_Toolbar (extends Mage_Core_Block_Template)
alors que les méthodes utilisées dans le code recopié sont celles de Mage_Page_Block_Html_Pager (extends Mage_Core_Block_Template)

Pour avoir la barre de pagination, il faudrait donc

- a / soit instancier un objet de classe Mage_Catalog_Block_Product_List_Toolbar_Pager (extends Mage_Page_Block_Html_Pager) au lieu du Mage_Catalog_Block_Product_List_Toolbar ?

- b / soit faire hériter Mage_Catalog_Block_Product_List_Toolbar de Mage_Page_Block_Html_Pager.

La solution (a) ne m'inspire pas confiance : ces deux classes ont aussi des méthodes différentes et cette substitution me paraît très risquée. Sans compter que je ne sais pas où se fait l'instanciation de ces binious là...

La solution (b), elle, semble fonctionner. Il me reste à tripoter les fichiers de style du template pour que la barre de pagination ait un rendu correct.

Je suis tout de même stupéfait de voir qu'une version 'stable' d'un produit 'pro' présente des bugs ou des lacunes aussi criantes. C'est inquiétant pour la couverture des tests. J'ai trouvé ailleurs d'autres bugs qui me font regretter de n'être pas resté en version 1.3.x. Trop tard pour revenir en arrière, hélas...

En tout cas, merci pour vos réponses qui m'ont fait gagner un temps précieux !
 
Dernière édition: 03/09/10 à  11:40 Par Herode.
L'administrateur a désactivé l'accès public en écriture.
#36437
Bousk
Senior Boarder
Messages: 41
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Paginer les produits d'une catégorie

Il y a 1 Année, 5 Mois
Karma: 0  
Effectivement j'ai oublié un morceau de la correction

dans Catalog/Block/Product/List/Toolbar
trouver la fonction getPagerHtml
dedans remplacer
$pagerBlock = $this->getChild('product_list_toolbar_pager');
par
$pagerBlock = $this->getLayout()->createBlock("catalog/product_list_toolbar_pager");

En surchargeant ce fichier seul ça marche très bien
 
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 1
Modérateur: admin, Narno, Gabriiiel, CaPiT