Eclipse42 Posted September 17, 2020 Share Posted September 17, 2020 (edited) Bonjour tout le monde Je pensais que c'était un truc facile, mais je rencontre pas mal de difficultés. J'aimerais simplement afficher un produit sur la page d'accueil. Pas vraiment à la manière des featured products qui n'affichent qu'un lien vers la "vraie" page produit. J"aimerais directement afficher le product, avec le template qu'il y a dans product.tpl afin d'affiche la vue produit de la page produit sur la home (avec donc les photos, description, déclinaisons, ajout au panier, etc). Pour cela, j'ai créé un module qui me permet de configurer quel ID produit je veux afficher. J'ai ensuite créé le hook que voici : Je récupère le produit par l'id en configuration que je passe à smarty public function HookDisplayMyProduct($params) { $productId = Configuration::get('DISPLAYPRODUCT_ID'); if ($productId !== false) { $lang_id = (int) Configuration::get('PS_LANG_DEFAULT'); $product = new Product($productId, true, $lang_id); if (Validate::isLoadedObject($product)) { $this->context->smarty->assign([ 'product' => (array) $product, ]); return $this->display(__FILE__, 'my-product.tpl'); } } } Le fichier my-product.tpl est un copié/collé du product.tpl sans la partie <head> et ne conserve que le block qui affiche le produit Et sur ma page d'accueil, j'ai juste l'affichage du hook. {block name='hook_my_product'} {hook h='displayMyProduct'} {/block} Je pensais que ce serait suffisant mais en fait ma variable $product ne contient pas tout ce qu'il faudrait car j'ai des erreurs du style "Undefined index: id_customization (ou sur le propriété "cover" et plein d'autres)" Du coup je me suis peut-être trompé sur la manière de faire. Sauriez-vous comment faire ce que je souhaite faire ? Un grand merci par avance ! PS : je suis sur prestashop 1.7 Edited September 17, 2020 by Eclipse42 (see edit history) Link to comment Share on other sites More sharing options...
Eclipse42 Posted September 29, 2020 Author Share Posted September 29, 2020 Personne n'a une petite idée ? Link to comment Share on other sites More sharing options...
Rajameltine Posted November 28, 2020 Share Posted November 28, 2020 Bonjour, regarde sur la classe Product.php il y a toutes les fonctions nécessaires pour faire cela. 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