ChristopheS Posted October 7, 2011 Share Posted October 7, 2011 Bonjour, je recherche la fonction qui appelle la liste des produits d'une catégorie ! Exemple : la "fonction" Product::getPricesDrop appelle les produits en promotions, j'aimerais remplacer ce code par la liste des produits d'une catégorie, produit de l'accueil par exemple ou l'ID d'une autre catégorie. Il y a peut-être une liste quelque part, qui informe les développeurs de toutes les variables et fonctions standards de Prestashop ? Link to comment Share on other sites More sharing options...
FrankD Posted October 26, 2011 Share Posted October 26, 2011 Moi aussi je recherche ça ! Vous avez trouvé ? Link to comment Share on other sites More sharing options...
coeos.pro Posted October 26, 2011 Share Posted October 26, 2011 Dans category.php : /** * Return current category products * * @param integer $id_lang Language ID * @param integer $p Page number * @param integer $n Number of products per page * @param boolean $getTotal return the number of results instead of the results themself * @param boolean $active return only active products * @param boolean $random active a random filter for returned products * @param int $randomNumberProducts number of products to return if random is activated * @param boolean $checkAccess set to false to return all products (even if customer hasn't access) * @return mixed Products or number of products */ public function getProducts($id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL, $getTotal = false, $active = true, $random = false, $randomNumberProducts = 1, $checkAccess = true) { Link to comment Share on other sites More sharing options...
FrankD Posted November 11, 2011 Share Posted November 11, 2011 ça m'avance pas ! Link to comment Share on other sites More sharing options...
xueid89 Posted November 12, 2011 Share Posted November 12, 2011 Bonjour, Si le but est de changer sur la page d'accueil les produits affichés dans le bloque produit phare. Alors allez dans le répertoire "ma_boutique/modules/homefeatured" et modifiez le fichier homefeatured.php comme suit en changeant le numero de catégorie en rouge: function hookHome($params) { global $smarty; $category = new Category(1, Configuration::get('PS_LANG_DEFAULT')); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); $smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home'))); return $this->display(__FILE__, 'homefeatured.tpl'); } Sinon pour tous autres developpement vous pouvez récupèrer les produits d'une catégories avec les lignes suivante: $category = new Category(1, Configuration::get('PS_LANG_DEFAULT')); $nb = 100; //nombre de produits retourné $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); Pour information je me ferais une joie de vous aider à personnaliser votre boutique. Mes tarifs sont raisonnables n'hésitez pas à me contacter par le biais de ma signature. Cordialement G. PREVEAUX 1 Link to comment Share on other sites More sharing options...
coeos.pro Posted November 12, 2011 Share Posted November 12, 2011 xueid89, si tu veux faire ta pub il y a une rubrique pour ça : http://www.prestashop.com/forums/forum/75-modules-payants-appels-doffres-et-prestations/ et si tu es auto entrepreneur tu dois afficher tes prix en "€ HT" pour les pro et "€" pour les particuliers (pas de prix TTC puisqu'il n'y a pas de TVA). Link to comment Share on other sites More sharing options...
xueid89 Posted November 12, 2011 Share Posted November 12, 2011 Bonjour, Les 2 prix sont affichés clairement HT=TTC et j'ai rajouté la phrase obligatoire pour les autoentrepreneurs. Je ne vois pas comment je peux faire les choses plus clairement. Je pense faire un peu plus que de la pub pour moi car ici comme ailleur je donne vraiment les solutions. Cordialement G. PREVEAUX Link to comment Share on other sites More sharing options...
coeos.pro Posted November 12, 2011 Share Posted November 12, 2011 Tu dois afficher les prix en €, comme sur mon site par exemple, mais tu ne dois pas afficher de prix TTC (exemple : http://www.lautoentrepreneur.fr/images/5_Facturier.pdf ) Link to comment Share on other sites More sharing options...
xueid89 Posted November 12, 2011 Share Posted November 12, 2011 Ok c'est bien sur le cas sur mes factures. Je trouve par contre que l'affichage sur mon site justement ne sème pas le doute. Merci pour tes infos mes nous devrions finir cette convertion en MP car ici ce n'est pas le sujet. Cordialement G. PREVEAUX Link to comment Share on other sites More sharing options...
FrankD Posted November 17, 2011 Share Posted November 17, 2011 Et bien, c'est un règlement de compte à OK CORAL ici ! Merci de ton aide xueid89 ! Je trouve que coeos n'est pas très correcte avec toi. Il est présent sur le forum juste pour agresser les personnes qui apporte une assistance gratuite et un partage de connaissance ? coeos, je pense que tu as une vu de l'open source un peu trop,... je ne sais quoi en fait !!! Mais il semble que l’esprit d'entraide n'est pas là ! C'est pourtant le sens de se forum non ? Et ton agression n'a rien à voir avec le sujet de ce post. Pour reprendre le sujet, pour ma part il m’intéresse de savoir comment appeler les produits d'une catégorie pour modifier le module gratuit "blockspecialscarroussel" et d'y afficher la liste des produits d'une catégorie, l'ID 3 par exemple. J'ai essayé d’insérer ton code xueid89, mais il ne doit pas être adapté ! J'ai fais ça : function hookRightColumn($params) { global $smarty, $cookie; $catproducts = new Category(1, Configuration::get('PS_LANG_DEFAULT')); $nb = 100; //nombre de produits retourné $products = $catproducts->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); $new_product = array(); if ($catproducts) foreach ($catproducts AS $CProduct) $new_product[] = $CProduct; $smarty->assign(array( 'version' => substr(_PS_VERSION_, 2, 1), 'timeEffet' => $this->timeEffet, 'timeTrans' => $this->timeTrans, 'catlistproducts' => $new_product)); if($catproducts || !$this->disapear) return $this->display(__FILE__, 'blockcatcarroussel.tpl'); else return ''; } C'est pas joli ! Link to comment Share on other sites More sharing options...
coeos.pro Posted November 17, 2011 Share Posted November 17, 2011 Frank tu es à coté de la plaque et je vais t'y laisser, je suis depuis un bail sur le forum, ce qui n'est pas ton cas, et moi j'aide les gens ce qui n'est pas ton cas, pour les prix à afficher HT et pas TTC ce n'est pas moi qui fais les lois. "juste pour agresser les personnes qui apporte une assistance gratuite " j'agresse qui ? A mon avis le type qui agresse les autres c'est toi, je vous ai aiguillé sur la fonction à utiliser (getProducts) et j'ai signalé à xueid89 qu'il ne respectait pas la loi en affichant les prix ttc... mais effectivement mon action est de l'agression pure et dure Link to comment Share on other sites More sharing options...
developette Posted February 19, 2012 Share Posted February 19, 2012 au lieu de dire n'importe quoi, comment fait on pour afficher les produits d'une categorie dans le homefeatured? Link to comment Share on other sites More sharing options...
coeos.pro Posted February 22, 2012 Share Posted February 22, 2012 au lieu de dire n'importe quoi, comment fait on pour afficher les produits d'une categorie dans le homefeatured? j'ai donné la réponse dans le premier message Link to comment Share on other sites More sharing options...
SMorillon.com Posted February 24, 2012 Share Posted February 24, 2012 function hookRightColumn($params) { global $smarty, $cookie; $catproducts = new Category(1, Configuration::get('PS_LANG_DEFAULT')); $nb = 100; //nombre de produits retourné $products = $catproducts->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); $new_product = array(); if ($catproducts) foreach ($catproducts AS $CProduct) $new_product[] = $CProduct; C'est pas joli ! Ton problème est dans le code ci-dessus : Tu parcours $catproducts : foreach ($catproducts AS $CProduct) Alors ques tes produits sont dans $products : $products = $catproducts->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now