Jump to content
Sign in to follow this  
gonzo

Comment Acceder À Tout Les Produits Phares.

Recommended Posts

Bonjour, je voudrais savoir s’il est possible d'accéder à tous les produits phares, ceux que l’on met dans le back office dans la catégorie « accueil ».

Je voudrais faire un lien sur la page d’accueil, comme celui du module « fabricant » par exemple qui pointe vers tous mes produits phares.

Si quelqu’un connait une solution je suis preneur

Merci beaucoup.

Share this post


Link to post
Share on other sites

Bonjour,

 

Vous pouvez utiliser ce lien:

 

category.php?id_category=1

 

mais il faut en plus commenter quelques lignes dans le fichier controllers/CategoryController.php

 

//	 if ($this->category->id != 1)
//	 {
 $nbProducts = $this->category->getProducts(NULL, NULL, NULL, $this->orderBy, $this->orderWay, true);
 $this->pagination((int)$nbProducts);
 self::$smarty->assign('nb_products', (int)$nbProducts);
 $cat_products = $this->category->getProducts((int)(self::$cookie->id_lang), (int)($this->p), (int)($this->n), $this->orderBy, $this->orderWay);
//	 }

 

 

 

btc.dev

Share this post


Link to post
Share on other sites

Bonjour,

 

Plutôt que de commenter, j'aurai plutôt surcharger le contrôleur.

 

Bonne journée

 

Mieux encore , j'aurais créé un controller :D

 

C'est pour la blague hein , juste pour aller jusqu'au bout ...

Share this post


Link to post
Share on other sites
Mieux encore , j'aurais créé un controller :D C'est pour la blague hein , juste pour aller jusqu'au bout ...

 

Outre la blague, il y a un intérêt à créer un controller dédié ?

Share this post


Link to post
Share on other sites

 

Outre la blague, il y a un intérêt à créer un controller dédié ?

 

D'une certaine manière , dans ce cas précis , c'est bien sûr plus long , mais de manière générale je pense qu'il est toujours préférable de créer un controller que d'en surcharger un autre pour ce type d'application.

 

J'entends par là : "Je souhaite afficher un listing à la façon de Category.php mais avec mes propres règlès de selection"

 

Ici on en effet en éludant le test sur la catégorie home , on évite un peu de travail, mais il y a un bémol non ?

Si l'on souhaite effectivement une page listing de tous les produits phares , soit appartenant à home , on a pas pour autant envie que toutes les sous-catégories de home s'affichent en haut du listing , comme ce qui est souvent le cas dans les thèmes , concernant category.tpl , je me trompe ?

Il me semble bien que ces sous-catégories qui vont polluer le listing sortent un peu de l'idée de présenter une page à la façon de best-sellers etc ...

 

Du coup un nouveau controller permet une liberté totale à peu de frais , car il suffit de cloner category.php ,le modifier pour ne pas tenir compte des sous-cat , et l'associer à un tpl dédié , lui même copie de category.tpl , mais adapté pour virer les sous-cats.

Share this post


Link to post
Share on other sites

PS : Cela dit il est clair que je ne peux qu'approuver le fait que tu encourages à l'override plutôt que de modifier le code en dur , c'est un +10 là dessus.

Share this post


Link to post
Share on other sites

Bonjour,

 

Je comprends votre point de vue et y adhère mais comme vous le dîtes, dans ce cas précis, c'est bien plus long pour des modifications mineures...

 

Cordialement

Share this post


Link to post
Share on other sites

Je relance un peu, mais juste parce que c'est une discussion intéressante et surement pas par esprit de contradiction ;).

 

En fait je vais juste raisonner en terme de "Cahier des charges" .

 

Je reprends la demande initiales qui est , je cite :

 

 

Je voudrais faire un lien sur la page d’accueil, comme celui du module « fabricant » par exemple qui pointe vers tous mes produits phares.

 

Il n'est en aucun cas fait état de la possibilité que ce listing puisse afficher autre chose que les produits phares.

 

Le controller category natif affichera toutes les sous catégories.

 

Il n'est pas non plus fait état que le thème ait été modifié pour que ce ne soit pas le cas, et on peut vouloir se réserver cette possibilité, l'idée en tant qu'intervenant étant d'apporter des plus et non des restrictions.

 

Toute intervention orientée uniquement sur une surcharge du controller category impliquera que chaque modification affectera les deux : catégories , mais aussi produits phares en mode listing.

 

L'idée de base , c'est qu'on souhaite afficher une listing , "à la manière de" , mais qu'on ne veut pas nécéssairement altérer ou dépendre du "de" en question .

 

Dans ce cas à mon sens il n'y a pas de meilleurs solution qu'un controller dédié , seule solution sans effet de bord et sans aucune restriction.

 

Maintenant puisque tu abordes la question du temps que cela prend dans l'une et l'autre des deux solutions je vais parler de la manière dont je procèderais et dont je chiffrerais l'acte, et j'en déduirais que dans un cas comme dans l'autre , le travail est absolument identique et demande le même niveau de connaissance, si tant est qu'on utilise la même méthode , à savoir ne pas restreindre .

 

1) je duplique category.php : un simple copier coller , que je nomme featured.php à la racine du site

2) je duplique CategoryController.php : idem , en FeaturedController.php

3) je duplique category.tpl .... idem , en featured.tpl , à la racine du thème

4) je modifie featured.php afin d'appeler FeaturedController en lieu et place de CategoryController

5) je modifie FeaturedController pour charger featured.tpl au lieu de category.tpl

6) je modifie featured.tpl pour ne "virer" la partie censée afficher les sous-catégories.

 

Je n'ai pas testé mais à mon sens , durée de la procédure 15 à 20 mn max.

rasionnons comme si on devait tarifer cette intervention :

Compte tenu de ce que devrait facturer un prestataire pour ce type de modif en tenant compte de tout , ça revient à une heure facturée au max.

 

La différence entre les deux méthodes ( override de category ou cette methode ci ) représente quelques cliques à peine .

 

Dans un cas on condamne l'affichage des catégories à être intimement lié à celui des produits phares.

 

Dans l'autre on garde une liberté totale , les deux étant parfaitement indépendants.

 

Différence d'exécution pour un développeur : 5 mn à peine ???

 

Aucun impact sur la facturation , mais une solution intégrale d'un côté , une solution restrictive de l'autre.

 

Tu me suis ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More