Jump to content

[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)
Link to comment
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?

Link to comment
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)
Link to comment
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');
 
 
}
Link to comment
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...