Lloraklo Posted June 7, 2011 Share Posted June 7, 2011 Bonjour, Quelqu'un connaît-il un module (gratuit ou pas trop cher) qui permettrait de mettre en page d'accueil la promotion d'un article ?J'ai la version 1.3.1 actuellement, mais je souhaiterai passer en 1.4.2.5 bientôt , donc si possible un module compatible avec les 2 versions, sinon seulement avec la 1.4.2.5.J'en ai testé plusieurs, mais la plupart ne peuvent pas être placé en "home" mais seulement sur les colonnes de droites et gauche.De plus j'ai testé le module de prestashop "bloc promotions", mais l'affichage en "home" est complètement différent de celui dans les colonnes, et c'est très moche et illisible.Merci d'avance Link to comment Share on other sites More sharing options...
Lloraklo Posted June 8, 2011 Author Share Posted June 8, 2011 Hier j'en ai trouvé deux mais ils sont un peu trop cher..Personne ne connaît de module comme ça ? Link to comment Share on other sites More sharing options...
Lloraklo Posted June 16, 2011 Author Share Posted June 16, 2011 Toujours personne ne connaît de module qui correspondrait aux critères souhaités ?? Link to comment Share on other sites More sharing options...
TeddyNko Posted June 17, 2011 Share Posted June 17, 2011 Bonjour,Voilà un module qui te permet d'afficher les promotions sur la page d'accueil et de façon aléatoire.Il reprend toutes les promotions actives de la boutique.Tu peux indiquer le nombre de promotions à afficherTeddy homespecials.zip Link to comment Share on other sites More sharing options...
Maury Girard Posted June 17, 2011 Share Posted June 17, 2011 Bonjour TeddyNkoEst il bien compatible avec la 1.4 ? Link to comment Share on other sites More sharing options...
Lloraklo Posted June 17, 2011 Author Share Posted June 17, 2011 Bonjour TeddyNko, Merci pour le module, il est bien compatible avec PS 1.4.2.5 mais apparemment pas avec mon thème.CI-joint ce que ça me donne =/ Link to comment Share on other sites More sharing options...
Maury Girard Posted June 17, 2011 Share Posted June 17, 2011 Bonjour LlorakloAllez vérifier le redimensionnement des images dans le back office et n'oubliez pas de les régénérer ensuite une fois la modification apporté.et je pense qu'un peu de modif dans le css sera aussi préconiséCordialement, Link to comment Share on other sites More sharing options...
Lloraklo Posted June 17, 2011 Author Share Posted June 17, 2011 Merci Maury Girard, Pourquoi il faudrait redimensionner les images alors que sur tout le reste du site il n'y a pas de problème ? Même sur le bloc réductions (cf fichier joint)Dans le css il faudrait modifier quoi ? Link to comment Share on other sites More sharing options...
Lloraklo Posted June 17, 2011 Author Share Posted June 17, 2011 j'ai essayé le truc avec les images et rien n'a changéj'ai modifié le css mais ça ne change rien non plus, alors je le remets comme avant Link to comment Share on other sites More sharing options...
TeddyNko Posted June 17, 2011 Share Posted June 17, 2011 Bonjour TeddyNkoEst il bien compatible avec la 1.4 ? Bonjour,Je ne l'ai pas testé avec la version 1.4 ! Link to comment Share on other sites More sharing options...
TeddyNko Posted June 17, 2011 Share Posted June 17, 2011 Bonjour TeddyNko, Merci pour le module, il est bien compatible avec PS 1.4.2.5 mais apparemment pas avec mon thème.CI-joint ce que ça me donne =/ Bonjour,J'ai téléchargé ce module à partir de PRESTACREA qui le donne gratuitement, je te l'ai donc envoyé gratuitement.S'il a fait gratuit c'est qu'on pouvait se le refiler.Voilà le lien : http://www.prestacrea.com/modules-prestashop/40-module-prestashop-homespecials.htmlDemande-lui pourquoi cela ne va pas avec ton thème.Teddy Link to comment Share on other sites More sharing options...
Maury Girard Posted June 17, 2011 Share Posted June 17, 2011 TeddyNko & LlorakloEn allant sur le fiche du produit voici ce qui est noté Compatibilité Prestashop : Prestashop v1.2, v1.3 et v1.4LlorakloIL suffit donc de contacter l'auteur du module depuis son site Iciafin que cette personne puisse vous indiquez la solution rapidementCordialement Link to comment Share on other sites More sharing options...
Lloraklo Posted June 17, 2011 Author Share Posted June 17, 2011 Je vous remercie Link to comment Share on other sites More sharing options...
belew Posted March 12, 2012 Share Posted March 12, 2012 Bonjour a vous, Il est tout simplement possible de greffer celui de base sur la page d'accueil avec : public function hookHome($params) { return $this->hookRightColumn($params); } dans le fichier blockspecials.php dans le dossier du module Ensuite de surcharger le css et le TPL pour le personnaliser Cordialement Link to comment Share on other sites More sharing options...
Enduro Posted March 16, 2012 Share Posted March 16, 2012 Il ne fonctionne pas sur la 1.4.6 Module installé, mais il m'indique en FO "aucune promotion"... Link to comment Share on other sites More sharing options...
catherine8 Posted June 12, 2012 Share Posted June 12, 2012 Bonjour, Moi aussi, il me marque "aucune promotion". Avez-vous trouvé la solution ? Merci Link to comment Share on other sites More sharing options...
Denys06 Posted February 21, 2014 Share Posted February 21, 2014 (edited) Bonjour, j'ai correctement installé le module homespecials qui affiche correctement les derniers produits mis en promotion. Ce module permet d'afficher X produit avec affichage aléatoire. J'aimerais apporté une modification et j'espère que vous pourrez m'aider. J'aimerais que les X produits affichés soit sélectionné aléatoirement sur l'ensemble des promotion sur ma boutique et non pas seulement sur les produits actuellement affichés, comme le fait correctement le module Bloc promotionsblockspecials.Voici le code du fichier php du module homespecials : <?php /* Module: HomeSpecials * Copyright@2010 All rights reserved * * Author: Prestacrea * Website: http://www.prestacrea.com * Email: [email protected] */ class HomeSpecials extends Module { private $_html = ''; private $_postErrors = array(); function __construct() { $this->name = 'homespecials'; $this->tab = 'PRESTACREA - Modules'; $this->version = '1.2'; $this->author = 'PRESTACREA'; parent::__construct(); $this->displayName = ('PRESTACREA - Home Specials'); $this->description = $this->l('Display Special Products in the middle of your homepage'); } function install() { if (!parent::install() OR !$this->registerHook('home') OR !Configuration::updateValue('HOME_SPECIALS_NBR', 4) OR !Configuration::updateValue('HOME_SPECIALS_RANDOM', 1)) return false; return true; } function uninstall() { if (!parent::uninstall() OR !Configuration::deleteByName('HOME_SPECIALS_NBR') OR !Configuration::deleteByName('HOME_SPECIALS_RANDOM')) return false; return true; } public function getContent() { $output = '<h2>'.$this->displayName.'</h2>'; if (Tools::isSubmit('submitHomeSpecials')) { $nbr = intval(Tools::getValue('nbr')); $ran = intval(Tools::getValue('random')); if (!$nbr OR $nbr <= 0 OR !Validate::isInt($nbr)) $errors[] = $this->l('Invalid number of product'); else { Configuration::updateValue('HOME_SPECIALS_NBR', $nbr); Configuration::updateValue('HOME_SPECIALS_RANDOM', $ran); } if (isset($errors) AND sizeof($errors)) $output .= $this->displayError(implode('<br />', $errors)); else $output .= $this->displayConfirmation($this->l('Settings updated')); } return $output.$this->displayForm(); } public function displayForm() { $output = ' <form action="'.$_SERVER['REQUEST_URI'].'" method="post"> <fieldset><legend style="line-height:20px"><img src="'.$this->_path.'logo.gif"/>'.$this->l('SETTINGS').'</legend> <label style="padding:0">'.$this->l('Products displayed').'</label> <div class="margin-form"> <input type="text" size="5" name="nbr" value="'.Tools::getValue('nbr', Configuration::get('HOME_SPECIALS_NBR')).'" /> </div> <label style="padding:0">'.$this->l('Randomize products').'</label> <div class="margin-form"> <select name="random" id="random" style="width:60px;"> <option value="1" '.(Configuration::get('HOME_SPECIALS_RANDOM') == 1 ? 'selected' : '').'>'.$this->l('Yes').'</option> <option value="0" '.(Configuration::get('HOME_SPECIALS_RANDOM') == 0 ? 'selected' : '').'>'.$this->l('No').'</option> </select> </div> <div class="margin-form"><input type="submit" name="submitHomeSpecials" value="'.$this->l('Update').'" class="button" style="width:150px"/></div> </fieldset> </form>'; return $output; } function hookHome($params) { global $smarty, $cookie; $category = new Category(1); $nb = intval(Configuration::get('HOME_SPECIALS_NBR')); $rand = intval(Configuration::get('HOME_SPECIALS_RANDOM')); if ($rand == 1) { $products = Product::getPricesDrop(intval($cookie->id_lang), 0, $nb); if ( $products ) { shuffle($products); array_splice($products, ($nb ? $nb : 10)); } } else { $products = Product::getPricesDrop(intval($cookie->id_lang), NULL - 0, (intval($nb ? $nb : 4)), false, NULL, NULL); } $smarty->assign(array( 'allow_buy_when_out_of_stock' => Configuration::get('PS_ORDER_OUT_OF_STOCK', false), 'max_quantity_to_allow_display' => Configuration::get('PS_LAST_QTIES'), 'category' => $category, 'products' => $products, 'currency' => new Currency(intval($params['cart']->id_currency)), 'lang' => Language::getIsoById(intval($params['cookie']->id_lang)), 'productNumber' => sizeof($products), 'homeSize' => Image::getSize('home'), 'ps_version' => _PS_VERSION_)); return $this->display(__FILE__, 'homespecials.tpl'); } } ?> et ici la fin du code du module Bloc promotionsblockspecials qui gère apparemment la récupération aléatoire des produits en promotion de toute la boutique : public function hookRightColumn($params) { if (Configuration::get('PS_CATALOG_MODE')) return; // We need to create multiple caches because the products are sorted randomly $random = date('Ymd').'|'.round(rand(1, max(Configuration::get('BLOCKSPECIALS_NB_CACHES'), 1))); if (!Configuration::get('BLOCKSPECIALS_NB_CACHES') || !$this->isCached('blockspecials.tpl', $this->getCacheId('blockspecials|'.$random))) { if (!($special = Product::getRandomSpecial((int)$params['cookie']->id_lang)) && !Configuration::get('PS_BLOCK_SPECIALS_DISPLAY')) return; $this->smarty->assign(array( 'special' => $special, 'priceWithoutReduction_tax_excl' => Tools::ps_round($special['price_without_reduction'], 2), 'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')), )); } return $this->display(__FILE__, 'blockspecials.tpl', (Configuration::get('BLOCKSPECIALS_NB_CACHES') ? $this->getCacheId('blockspecials|'.$random) : null)); } public function hookLeftColumn($params) { return $this->hookRightColumn($params); } public function hookHeader($params) { if (Configuration::get('PS_CATALOG_MODE')) return ; $this->context->controller->addCSS(($this->_path).'blockspecials.css', 'all'); } public function hookAddProduct($params) { $this->_clearCache('blockspecials.tpl'); } public function hookUpdateProduct($params) { $this->_clearCache('blockspecials.tpl'); } public function hookDeleteProduct($params) { $this->_clearCache('blockspecials.tpl'); } } Je n'arrive pas à combiner le deuxième code dans le premier pour réaliser ma modification.J'espère que quelqu'un pourra m'aider, je lui en serait éternellement reconnaissant, merci d'avance pour toutes aide Edited February 21, 2014 by Denys06 (see edit history) Link to comment Share on other sites More sharing options...
jujutte24 Posted February 23, 2014 Share Posted February 23, 2014 Bonjour à tous, je rebondie sur ce sujet, ancien, donc je déterre Je viens d'installe rce module, que j'ai adapté à l'hestétique de mon site. Il est super ! Je remercie au passage l'équipe de Prestacréa, à qui j'avais acheté auparavent d'autres modules. Mais je rencontre un problème, et peut-être que la communauté pourrai m'aider. A vrai dire, si Prestacrea passe par là L'affichage aléatoir des produits ne ce fait pas. Ca tourne en boucle autour des produits d'un même fabricant...voir les 5 mêmes produits... C'est pas très cool, et je n'arrive pas a identifier la fonction à modifier pour créer une réelle fonction aléatoire... Merci de votre aide Link to comment Share on other sites More sharing options...
Denys06 Posted February 23, 2014 Share Posted February 23, 2014 jujutte24, je pense que c'est exactement ce que je demande dans mon post précédent. Link to comment Share on other sites More sharing options...
jujutte24 Posted February 23, 2014 Share Posted February 23, 2014 Pardon, oui, mais moi il affiche toujours les mêmes, mais ce ne sont pas les derniers... De plus je n'avais pas vu que ton post était aussi récent, j'ai pas eu mon café Tu as trouvé une solution ? Si non, je pense contacter le développeur, si tu ne l'a pas fait Link to comment Share on other sites More sharing options...
Denys06 Posted February 23, 2014 Share Posted February 23, 2014 Non je n'ai pas trouvé de solution, j'ai contacté le développeur hier soir à propos de mon problème, tu devrais faire de même de ton côté si le soucis est légèrement différent...N'hésite pas à poster un message si tu à une solution, je ferrais de même. Link to comment Share on other sites More sharing options...
jujutte24 Posted February 28, 2014 Share Posted February 28, 2014 Salut, pas de news de Presta-créa par hasard ? Link to comment Share on other sites More sharing options...
Denys06 Posted February 28, 2014 Share Posted February 28, 2014 Ci, voici leur réponse : Bonjour, Désolée mais je ne propose pas la réalisation de développements spécifiques sur mesure. Vous pouvez en revanche vous rapprocher de l'un des partenaires Prestacrea : http://www.prestacrea.com/content/3-partenaires-prestacrea L'un d'eux sera peut-être en mesure de vous proposer ses services. Cordialement J'ai pour le moment abandonné ma recherche d'une solution à notre problème en communs, n'ayant pas envies d'investir de l'argent dans un module à la base "gratuit". Link to comment Share on other sites More sharing options...
jujutte24 Posted February 28, 2014 Share Posted February 28, 2014 (edited) La fonction qui appelle le choix des produits est ici : function hookHome($params) { global $smarty, $cookie; $category = new Category(1); $nb = intval(Configuration::get('HOME_SPECIALS_NBR')); $rand = intval(Configuration::get('HOME_SPECIALS_RANDOM')); if ($rand == 1) { $products = Product::getPricesDrop(intval($cookie->id_lang), 0, $nb); if ( $products ) { shuffle($products); array_splice($products, ($nb ? $nb : 10)); } } else { $products = Product::getPricesDrop(intval($cookie->id_lang), NULL - 0, (intval($nb ? $nb : 4)), false, NULL, NULL); } $smarty->assign(array( 'allow_buy_when_out_of_stock' => Configuration::get('PS_ORDER_OUT_OF_STOCK', false), 'max_quantity_to_allow_display' => Configuration::get('PS_LAST_QTIES'), 'category' => $category, 'products' => $products, 'currency' => new Currency(intval($params['cart']->id_currency)), 'lang' => Language::getIsoById(intval($params['cookie']->id_lang)), 'productNumber' => sizeof($products), 'homeSize' => Image::getSize('home'), 'ps_version' => _PS_VERSION_)); return $this->display(__FILE__, 'homespecials.tpl'); } } ?> Je vais essayer de modifier ça, pour avoir un choix plus large dans l'affichage.... Je ne garantie pas d'y arriver. Si un connaisseur passe par là... Edited February 28, 2014 by jujutte24 (see edit history) Link to comment Share on other sites More sharing options...
Denys06 Posted February 28, 2014 Share Posted February 28, 2014 J'ai déjà essayé de "bidouiller" cette partie du code, mais je n'y suis pas arrivé :'(Une personne ici qui si connait en programmation pourrais nous aider ? Link to comment Share on other sites More sharing options...
Recommended Posts