Jump to content
elmmle

[résolu] Afficher les produits avec une caractéristique commune

Recommended Posts

Bonsoir,

 

Je cherche depuis un bon moment mais je ne trouve pas alors j'ouvre un post. Tout d'abord, merci de noter que je suis une grande débutante.

 

Je souhaite créer une page spéciale cadeaux, j'ai créé la caractéristique "Idées Cadeaux", et la valeur OUI, et j'ai affecté cette caractéristique à certains produits seulement (ceux que je souhaiterais voir apparaître sur ma page spéciale cadeaux.

 

J'ai créé une page avec ce tuto: http://nemops.com/creating-new-pages-in-prestashop/ que voilà http://www.felixsolis.fr/index.php?fc=module&module=testmodule&controller=allproducts

 

Sur cette page, j'appelle les produits ainsi:

 

$products_partial = Product::getProducts($this->context->language->id, ((int)$this->p - 1) * (int)$this->n, $this->n, 'name', 'asc');
$products = Product::getProductsProperties($this->context->language->id, $products_partial);

 

Mais comment est ce que je pourrais n'appeler que les produits qui ont la caractéristique Idées Cadeaux>>>OUI???

 

Merci d'avance pour votre aide!

 

 

 

Edited by elmmle (see edit history)

Share this post


Link to post
Share on other sites

Pourquoi se compliquer la tache et ne pas utiliser une catégorie Idée cadeaux ?

Vous aurez alors votre page maboutique/idee-cadeaux qui listent tout les produits appartenant à cette catégorie.

Share this post


Link to post
Share on other sites

C'est vrai que je pourrais aussi faire une catégorie. Mais il me faudra quand même trouver un moyen d'appeler mes produits de la même catégorie  car je veux faire une page "spéciale".

 

Est ce plus simple d'appeler les produits d'une même catégorie que les produits ayant une caractéristique commune?

Share this post


Link to post
Share on other sites

Je ne vois pas trop ce que vous entendez par page "spéciale" ? Un design complètement différent ?

Quoi qu'il en soit, cela me parait plus simple d'appelez les produits d'une catégorie tout de même oui !

 

Exemple pour aller chercher les 10 derniers produits d'une catégorie ayant 41 comme ID. 

$category = new Category(41, (int)Context::getContext()->language->id);
$number_of_products = 10; //(int)
$new_products = $category->getProducts((int)Context::getContext()->language->id, 1, $number_of_products);
Edited by Szed (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

je rejoints Szed sur l'idée de la catégorie et donc qui n'affichera que les produits de cette catégorie.

 

Sinon vous pouvez aussi utiliser la navigation à facette et permettre aux utilisateur de sélectionner la caractéristiques correspondante.

Share this post


Link to post
Share on other sites

Merci beaucoup! Cela a fonctionné! Voilà le code qui marche si ça peut aider quelqu'un: 

 

public function initContent()

{
parent::initContent();
 
$category = new Category(110, (int)Context::getContext()->language->id);
$number_of_products = 20; //(int)
$gift_products = $category->getProducts((int)Context::getContext()->language->id, 1, $number_of_products);
 
  
foreach ($products as $key => $product) {
$cover = Product::getCover($product['id_product']);
$products[$key]["id_image"] = $cover["id_image"];
}
 
$this->context->smarty->assign(array(
        'gift_products' => $gift_products,
        'homeSize' => Image::getSize('home_default')
    ));
    $this->setTemplate('allproducts.tpl');
 
 
}

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More