Jump to content

Choisir produits et catégorie dans produit phares


Recommended Posts

Bonjour à ,tous,

 

J'ai pu dupliqué le module Homefeatured ( produits phares ) et aussi leurs attribué à chacun une catégorie bien distinct ( module 1 = tel catégorie, module 2 = tel catégorie etc ... ) donc une cat de droduit par ligne.

 

Si ca intérrèsse quelquequ'un ;)

 

Il y juste 2 truc sur le quel je bloc,

 

- Comment limité le nombre de produit affiché ?

- Comment lui attribuer le style du template car j'utilise un template avec son propre CSS pour les modules : montheme/modules

 

Presta 1.5.3

 

Merci

Edited by admin974 (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Dans ce fichier des nombres il y en a plein.

 

Est ce celui ci :

 

<div class="margin-form">
 <input type="text" size="5" name="nbr" value="'.Tools::safeOutput(Tools::getValue('nbr', (int)(Configuration::get('HOME_FEATURED_NBR')))).'" />
 <p class="clear">'.$this->l('The number of products displayed on homepage (default: 10).').'</p>
   </div>

 

ou

 

public function hookDisplayHome($params)
{
 $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
 $nb = (int)(Configuration::get('HOME_FEATURED_NBR'));
 $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

 

Car j'ai changer ces valeur par 5 mais rien n'y fait, ca change pas.

 

Bon week-end

Link to comment
Share on other sites

C'est bon j'ai trouver :

 

Remplacer ligne 106 env. :

 

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

par

$products = $category->getProducts(intval($params['cookie']->id_lang), 1, 5);
if ($products) {
shuffle($products);
array_splice($products, ($nb ? $nb : 10));}

 

- 5 dans ce bout de code est le nombre de produit affiché

- shuffle les mets au hasard

 

Merci à ericdel topic ici : http://www.prestasho...ares-au-hasard/

 

Pour l'affichage au hasard.

 

Voila je vais pouvoir afficher des produits au hasard d'une catégorie bien spécifique sur chaque ligne.

Edited by admin974 (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...

Bonjour

Admin 974 en effet cela m'interesse de savoir comment on fait pour cet affichage, ou trouver tes modules que tu as modifier etcc

je ne sais pas coder ce genre de chose. Donc si tu veux bien partager ton module et me donner la procedure à suivre je suis preneur

je t'en remercie à l'avance

 

tu peux m'envoyer cela par mail si tu veux pas de probleme [email protected]

Link to comment
Share on other sites

Bonjour,

 

Tu devras dans tout les cas coder, à moins d'acheter un module.

 

Avant toutes choses se munir d'un éditeur de code php et utiliser Wamp ( serveur local ) pour les test.

 

Voila comment j'ai procédé,

 

- copier le module homefeatured ( tout le dossier )

 

- renommer le dossier ( pour l'exemple nous allons l'appeller "monmodule" )

 

- dans cette copie ouvrir le fichier homefeatured.php remplacer la class :

class HomeFeatured extends Module

par

class monmodule extends Module

 

Puis :

 

$this->name = 'homefeatured';

 

Par

 

$this->name = 'monmodule';

 

 

- Dans le BO, gestion des modules rechercher cette copie, installer et voila

 

Pour l'attribuer une catégorie spécifique, toujours sur ce fichier homefeatured.php

 

Remplacer ligne 104 env :

 

$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
 $nb = (int)(Configuration::get('HOME_FEATURED_NBR'));
 $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

 

Par :

 

$category = new Category(2, Configuration::get('PS_LANG_DEFAULT'));
 $nb = (int)(Configuration::get('HOME_FEATURED_NBR'));
 $products = $category->getProducts(intval($params['cookie']->id_lang), 1, 5);
if ($products)
{ shuffle($products);
array_splice($products, ($nb ? $nb : 10));

 

- 2 dans ce bout de code est la catégorie de produit affiché ( ID de la catégorie )

- 5 est le nombre de produits affichés

- shuffle les mets au hasard

Edited by admin974 (see edit history)
Link to comment
Share on other sites

Bonjour

j'ai fait comme vous avez dit et aussi il faut renommer le fichier tpl et le fichier php du nom du module monmodule

 

mais une fois fait la transformation

 

$category = new Category(2, Configuration::get('PS_LANG_DEFAULT'));

$nb = (int)(Configuration::get('HOME_FEATURED_NBR'));

$products = $category->getProducts(intval($params['cookie']->id_lang), 1, 5);

if ($products)

{ shuffle($products);

array_splice($products, ($nb ? $nb : 10));

 

et bien j'ai une page blanche et plus rien ne fonctionne

je suis sous prestashop 1.5.3.1 et je pense que cela ne doit pas fonctionner avec cette version de prestashop mais merci quand meme

joel (proformaid)

Link to comment
Share on other sites

Hello admin974

 

Ta méthode m'intéresse également, et comme proformaid, je ne sais pas coder, je suis un peu bidouilleur ^^', mais je sais facilement appliqué une solution donnée :P

 

je voudrais savoir si tes modifications fonctionnerais avec un PS 1.5.2

 

Et surtout, je galère pour trouver une solution a une fonction que je trouve intéressante :

 

Est-il possible que seul les produits en stocks soit afficher en produits phares, bon je sais que normalement seul les produits mis en catégorie accueil sont afficher, mais j'aimerais y appliqué une sorte de filtre pour que seul les produits en stocks > 0 soit afficher ?

 

Pour l'aléatoire, il est déjà activer, j'avais suffit une autre méthodes.

 

merci d'avance

 

johan

Link to comment
Share on other sites

Bonjour,

 

 

et bien j'ai une page blanche et plus rien ne fonctionne

je suis sous prestashop 1.5.3.1 et je pense que cela ne doit pas fonctionner avec cette version de prestashop mais merci quand meme

joel (proformaid)

 

Je suis sous 1.5.3.1 et ca fonctionne tres bien pour moi . Pour 1.5.2 je sais pas car j'ai pas tester sous cette version

Link to comment
Share on other sites

  • 1 month later...

idem ne fonctionne pas sous 1.5.4

me marque : Les modules suivant ne peuvent pas être chargées :

pharecategorie (classe manquante dans /modules/pharecategorie/pharecategorie.php)

pharecategorie (erreur de syntaxe dans pharecategorie.php)

 

vérifié 2 fois et la syntaxe est la même que dans votre post)

 

serait il possible de nous envoyer le fichier ZIP du module modifié, contenant déja tous les fichiers ?

 

Ce serait cool ! merci

 

 

edit : ok il faut ajouter } à la fin de la parti du code shuffle et l'erreur disparait..

 

Par contre comme les variables sont les même que pour le bloc initial, le resulat sur le front office est du grand n'importe quoi..

Le premier bloc homeatured est ecrabouillé et le second affiche un produiit par ligne sur 10 lignes..

Y'a d'autres lignes de codes à modifier il semblerait

Edited by Jean Francois G (see edit history)
Link to comment
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
×
×
  • Create New...