batounet Posted January 4, 2018 Share Posted January 4, 2018 (edited) Bonjour à tous, et une très bonne année !! Je suis entrain de créer mon propre module et je vais devoir afficher des produits sélectionnés via ID. J'ai beau chercher un peu partout, je n'arrive pas à trouver la méthode qui me permettrais de récupérer les informations des produits que demande product.tpl à partir de l'ID. Avez-vous des pistes à me suggérer ? Merci d'avance Edited January 6, 2018 by batounet (see edit history) Link to comment Share on other sites More sharing options...
batounet Posted January 5, 2018 Author Share Posted January 5, 2018 Salut okom3pom, Merci pour ta réponse, c'était bien ça que je recherchais ! Je vais essayer d'être plus clair : J'ai un module qui possède une requete SQL dans laquelle je récupère les id de certains produits. Dans ce module je fais quelques filtres en plus sur ces id Ensuite dans mon tpl, j'"include" catalog/_partials/miniatures/product.tpl afin d'y afficher mes produits. new Product me permet bien d'avoir certaines informations du produits, mais visiblement il en manque. J'ai des 'Undefined index' pour plusieurs attributs :id_product_attribute, url, cover, has_discount, regular_price, discount_type, flags. Je suppose donc que je dois utiliser une autre fonction ou une fonction supplémentaire pour récupérer ces attributs ?! Link to comment Share on other sites More sharing options...
batounet Posted January 6, 2018 Author Share Posted January 6, 2018 Génial !! Merci, avec ta piste j'ai réussit à réutiliser le presenter de ps_featuredProduct pour l'adapter à mon code ! Encore milles merci Link to comment Share on other sites More sharing options...
regatonseb Posted May 10, 2019 Share Posted May 10, 2019 (edited) Bonjour, Je souhaite afficher des produits dans un hook et donc utiliser le même principe que pour ps_featuredproducts mais je sais pas trop comment m'y prendre. J'ai donc utilisé la fonction getProducts mais je suis un peu dans le flou. Je l'utilise comment ? Merci pour votre aide. Edited May 10, 2019 by regatonseb (see edit history) Link to comment Share on other sites More sharing options...
regatonseb Posted May 10, 2019 Share Posted May 10, 2019 C'est bon j'ai réussi à m'en servir de cette fonction avec un peu de concentration... En revanche l'affichage fait que les produits s'affichent les uns en dessous des autres et ne respectent pas tout à fait ce qui est prévu pour les autres cas... Donc je vais voir pour faire un peu d'intégration, sinon ça fonctionne bien. Pour donner plus de détails, je donne les IDs des fiches produit à afficher en paramètre de cette fonction et pour l'affichage j'assigne à smarty le contenu de la variable résultant de la fonction dans le hook que je veux. ça donne un truc du genre : $products = $this->getProducts($listeidproduct); $this->context->smarty->assign("products",$products); Dans le tpl du coup : {foreach from=$products item="product"} {include file="catalog/_partials/miniatures/product.tpl" product=$product} {/foreach} Et bien sûr dès le début de votre code bien rajouter : use PrestaShop\PrestaShop\Core\Product\ProductListingPresenter; use PrestaShop\PrestaShop\Adapter\Image\ImageRetriever; use PrestaShop\PrestaShop\Adapter\Product\PriceFormatter; use PrestaShop\PrestaShop\Adapter\Product\ProductColorsRetriever; Link to comment Share on other sites More sharing options...
ZiedDams Posted January 14, 2022 Share Posted January 14, 2022 On 5/10/2019 at 12:05 PM, regatonseb said: C'est bon j'ai réussi à m'en servir de cette fonction avec un peu de concentration... En revanche l'affichage fait que les produits s'affichent les uns en dessous des autres et ne respectent pas tout à fait ce qui est prévu pour les autres cas... Donc je vais voir pour faire un peu d'intégration, sinon ça fonctionne bien. Pour donner plus de détails, je donne les IDs des fiches produit à afficher en paramètre de cette fonction et pour l'affichage j'assigne à smarty le contenu de la variable résultant de la fonction dans le hook que je veux. ça donne un truc du genre : $products = $this->getProducts($listeidproduct); $this->context->smarty->assign("products",$products); Dans le tpl du coup : {foreach from=$products item="product"} {include file="catalog/_partials/miniatures/product.tpl" product=$product} {/foreach} Et bien sûr dès le début de votre code bien rajouter : use PrestaShop\PrestaShop\Core\Product\ProductListingPresenter; use PrestaShop\PrestaShop\Adapter\Image\ImageRetriever; use PrestaShop\PrestaShop\Adapter\Product\PriceFormatter; use PrestaShop\PrestaShop\Adapter\Product\ProductColorsRetriever; Salut , vous pouver indique ou est la fonction qui va prendre les IDs ( $this-getProducts(ids)) ? 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