niceteamplay Posted December 27, 2016 Share Posted December 27, 2016 (edited) Bonjour, J'essaye sans fin d'accrocher le module bloc promotions sur le hook displayHome, sans réussite, j'appelle alors à l'aide ahah. J'ai déjà essayé de dupliquer les fonctions de base pour l'affichage des hooks displayHomeTab et displayHomeTabContent sans résultat positif. Si quelqu'un connait le code à mettre dans cette fonction pour afficher les produits soldés dans le displayHome j'en serais ravi ! Merci d'avance pour votre aide. Edit : Pour l'instant j'ai fais ça : public function hookDisplayHome($params) { return $this->hookDisplayHomeTabContent($params); } Mais, j'obtiens juste la réponse d'erreur de la fonction hookDisplayHomeTabContent c'est à dire aucun produits en promotions Alors qu'il y a des produits en promo et que cette fonction fonctionne car elle est en ce moment présente sur ma home page T_T Edited January 4, 2017 by niceteamplay (see edit history) Link to comment Share on other sites More sharing options...
niceteamplay Posted December 27, 2016 Author Share Posted December 27, 2016 (edited) Merci pour votre réponse! Elle fait ça : public function hookDisplayHomeTabContent($params) { if (Configuration::get('PS_CATALOG_MODE')) return; if (!$this->isCached('blockspecials-home.tpl', $this->getCacheId('blockspecials-home'))) { $this->smarty->assign(array( 'specials' => BlockSpecials::$cache_specials, 'homeSize' => Image::getSize(ImageType::getFormatedName('home')) )); } if (BlockSpecials::$cache_specials === false) return false; return $this->display(__FILE__, 'blockspecials-home.tpl', $this->getCacheId('blockspecials-home')); } J'ai essayé avec la fonction de l'autre hook aussi public function hookDisplayHomeTab($params) { if (Configuration::get('PS_CATALOG_MODE')) return; if (!$this->isCached('tab.tpl', $this->getCacheId('blockspecials-tab'))) BlockSpecials::$cache_specials = Product::getPricesDrop((int)$params['cookie']->id_lang, 0, Configuration::get('BLOCKSPECIALS_SPECIALS_NBR')); if (BlockSpecials::$cache_specials === false) return false; return $this->display(__FILE__, 'tab.tpl', $this->getCacheId('blockspecials-tab')); } mais celle ci me donne aucun affichage donc je pense que la hookDisplayHomeTabContent est plus proche du résultat que hookDisplayHomeTab Edited December 27, 2016 by niceteamplay (see edit history) Link to comment Share on other sites More sharing options...
niceteamplay Posted December 27, 2016 Author Share Posted December 27, 2016 pas d'idée ? :/ Link to comment Share on other sites More sharing options...
niceteamplay Posted December 27, 2016 Author Share Posted December 27, 2016 (edited) Oui il est déjà ajouté dans la BO car sur ma home page dans le hook displayHome j'ai une erreur "Aucun produit en promotion pour le moment". Alors que juste au dessus dans le hookDisplayHomeTabContent j'ai bien l'affichage de mes produits soldés. C'est pour ça que je trouve étrange le fait que ça ne fonctionne pas dans le hookDisplayHome et que je recherche de l'aide :/ Encore merci pour votre réponse. Edited December 27, 2016 by niceteamplay (see edit history) Link to comment Share on other sites More sharing options...
niceteamplay Posted December 28, 2016 Author Share Posted December 28, 2016 (edited) Bonjour, Merci de m'aider à résoudre ce problème c'est vraiment sympa et désolé pour cette réponse tardive je n'ai pas pu retourner sur le pc avant ce matin, J'ai effectué le test, ça fonctionne bien (j'ai bien l'affichage du H1 sur ma homepage à l'endroit souhaité) donc le module se place dans le bon hook et l'affichage est possible mais impossible d'avoir mes produits. Edited December 28, 2016 by niceteamplay (see edit history) Link to comment Share on other sites More sharing options...
niceteamplay Posted December 28, 2016 Author Share Posted December 28, 2016 (edited) J'ai trouvé une solution mais .... pas terrible pour l'affichage public function hookDisplayHome($params) { return $this->hookRightColumn($params); } Je retourne une autre fonction qui affiche aussi les produits en promo .... et ça fonctionne je comprends toujours pas pourquoi l'affichage de l'autre fonction ne fonctionne pas je vais adapter le css avec le hookrightColumn même si je suis vraiment dessus de pas pouvoir utiliser l'autre fonction (hookDisplayHomeTabContent) si quelqu'un à une idée de pourquoi ça ne fonctionne pas avec la fonction hookDisplayHomeTabContent je suis toujours preneur... edit : voici la fonction que j'utilise : 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)); Elle prend aléatoirement un produit je ne suis pas assez bon en php/prestashop pour modifier ce code de façon à ce qu'il prenne tous les produit (bien sur j'ai envie de copier le code la fonction displayHomeTabContent car le code contient l'affichage que je recherche mais ça fonctionne pas cdlt, NTP Edited December 28, 2016 by niceteamplay (see edit history) Link to comment Share on other sites More sharing options...
niceteamplay Posted January 4, 2017 Author Share Posted January 4, 2017 Désolé pour cette réponse très tardive je pensais avoir répondu le jour même... Finalement j'ai abandonné l'idée de déplacer ce module et j'ai déplacé l'autre module qui ne me convenais pas dans le hook au dessus, ça a fonctionné du premier coup avec la fonction public function hookDisplayHome($params) { return $this->hookDisplayHomeTabContent($params); } Mon problème est donc résolu, mais je n'ai tout de même pas réussi à déplacer ce fichu module blockspeacials, peut importe, le résultat attendu est là c'est ce qui compte. Cordialement, Je vous remercie fortement pour votre aide! NTP. 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