Jump to content

Faire une requête sql pour récupérer des produits


Recommended Posts

Bonsoir,

 

Voilà comme mentionné dans le titre de se poste, j'aimerais effectuer une requête sql en inter joint ou pas pour récupérer une liste de produit dans une catégorie spécifique.

 

L’idéale c'est que je puisse faire des requêtes pour afficher tous les produits de la Catégorie 3 par exemple et de l'afficher à l'accueil du site au lieu le module produit Phares ou autre...

 

Je ne sais pas si un poste similaire existe, si c'est le cas dite le moi pour que je supprime celui-ci!

 

Merci d'avance pour votre réponse.

 

PS : Je suis sur 1.5.1

 

TiBaker

Edited by TiBaker (see edit history)
Link to comment
Share on other sites

Bonsoir,

 

Voilà comme mentionné dans le titre de se poste, j'aimerais effectuer une requête sql en inter joint ou pas pour récupérer une liste de produit dans une catégorie spécifique.

 

L’idéale c'est que je puisse faire des requêtes pour afficher tous les produits de la Catégorie 3 par exemple et de l'afficher à l'accueil du site au lieu le module produit Phares ou autre...

 

Je ne sais pas si un poste similaire existe, si c'est le cas dite le moi pour que je supprime celui-ci!

 

Merci d'avance pour votre réponse.

 

PS : Je suis sur 1.5.1

 

TiBaker

 

 

Perso ???

Link to comment
Share on other sites

Il faut apprendre à utiliser les classes et leurs méthodes notamment.

 

Dans la classe Product.php, tu as la méthode getProducts() qui te permet de retourner l'ensemble des produits. Tu peux notamment y mettre l'attribut $id_category pour renvoyer les articles d'une catégorie.

 

Par exemple pour la catégorie 3:

global $cookie;
Product::getProducts($cookie->id_lang,1,100,'id_product','ASC',3)

 

Ca doit te renvoyer les 100 premiers produits de la catégorie 3 triés par id de façon ascendante.

 

Pour la variable cookie soi tu utilises la variable gloable comme ici soit si tu es sur 1.5 tu peux aussi utiliser le context:

$this->context->language->id

Edited by franckm1000 (see edit history)
  • Like 2
Link to comment
Share on other sites

Alors j'ai essayé çà fonctionne bien mais pour le retourner les résultats çà m'affiche pas le lien et image...

 

Ma requête :

 

$req_prod = Product::getProducts($this->context->language->id,1,3,'id_product','ASC',3); self::$smarty->assign('req_prod',$req_prod);

 

Mon résultat sous forme de tableau :

 

{foreach from=$req_prod item=reqproddicount name=products}
   	 <a href="{$reqproddicount.link|escape:'htmlall':'UTF-8'}" title="{$reqproddicount.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($reqproddicount.link_rewrite, $reqproddicount.id_image, 'listes_produits')}" alt="{$reqproddicount.legend|escape:'htmlall':'UTF-8'}">{if isset($reqproddicount.new) && $reqproddicount.new == 1}<!--<span class="new">{l s='New'}</span>-->{/if}</a>

   	 <h4>{$reqproddicount.name|escape:'htmlall':'UTF-8'|truncate:25:'...'}</h4>
   	 <p>{$reqproddicount.reference} - </p>

	   	 <p>{if isset($reqproddicount.show_price) && $reqproddicount.show_price && !isset($restricted_country_mode)}{if !$priceDisplay}{convertPrice price=$reqproddicount.price}{else}{convertPrice price=$reqproddicount.price_tax_exc}{/if}{/if}</p>
	   	 <span>{if isset($reqproddicount.reduction) && $reqproddicount.reduction && isset($reqproddicount.show_price) && $reqproddicount.show_price && !$PS_CATALOG_MODE}{$reqproddicount.reduction} €{/if}</span>

		   <a href="{$link->getPageLink('cart',false, NULL, "add&id_product={$reqproddicount.id_product|intval}&token={$static_token}", false)}" title="Ajouter panier"><img src="{$img_dir}discount/btn-add-panier.png" alt="Image ajout panier"></a>
{/foreach}

 

Alors il m'affiche tous sauf pour "$reqproddicount.link|escape:'htmlall':'UTF-8'" et

"$link->getImageLink($reqproddicount.link_rewrite, $reqproddicount.id_image, 'listes_produits')"

 

Je pense qu'il manque des paramètres dans la requête méthode.

 

Vous en pensez quoi ?

Edited by TiBaker (see edit history)
Link to comment
Share on other sites

Alors il me récupère $reqproddicount.link_rewrite; mais pas $reqproddicount.id_image

 

Je pense que c'est le (getImageLink) qui ne fonctionne pas parce que ($reqproddicount.link_rewrite) me retourne le (link_rewrite) du produit et non celui de l'image.

 

Exemple: dans link_rewrite produit j'ai des (é,è)... qui est visible dans URL mais le (link_rewrite) de l'image lui ne possède pas ses caractères spéciaux.

 

il n'existe pas d'autre moyen pour récupérer les images ? d'un produit.

 

PS : c'est comme si sur le forum, il y a que vous (franckm1000), qui aidé les gens.

 

Cordialement.

Edited by TiBaker (see edit history)
Link to comment
Share on other sites

Alors il me récupère $reqproddicount.link_rewrite; mais pas $reqproddicount.id_image

 

Je pense que c'est le (getImageLink) qui ne fonctionne pas parce que ($reqproddicount.link_rewrite) me retourne le (link_rewrite) du produit et non celui de l'image.

 

Exemple: dans link_rewrite produit j'ai des (é,è)... qui est visible dans URL mais le (link_rewrite) de l'image lui ne possède pas ses caractères spéciaux.

 

il n'existe pas d'autre moyen pour récupérer les images ? d'un produit.

 

PS : c'est comme si sur le forum, il y a que vous (franckm1000), qui aidé les gens.

 

Cordialement.

UP ?

Link to comment
Share on other sites

Bah si y a moi comme d'hab... :D

 

Pour solutionner ton problème, il faut faire des tests: utilises par exemple{$ma_var|print_r} pour afficher le tableau de la variable et ainsi voir ce que tu récupères. Utilises également le {debug}

 

Sinon il existe des méthodes dans les classes Link ou Image, à toi de regarder ces classes et éventuellement trouver une méthode qui te convienne.

 

Je les ai déjà utilisé mais je sais plus trop les noms et pi zut je vais pas tout faire quand même ! :ph34r:

 

B)

  • Like 1
Link to comment
Share on other sites

Oui Oui bien-sûre :)

 

Je voir de mon coté mais sinon sur la doc ou on trouve les différents méthodes ? pour que je puisse tester quelque une ?

 

C'est ma dernière question :rolleyes:

 

Merci quand même et je retourne la solution quand j'aurais trouvé ! ^_^

Link to comment
Share on other sites

Quelle doc???

 

Y a pas de doc, y a que de la découverte.

 

Prends ton clavier, tes yeux et ton cerveau, et va ouvrir les fichiers dans le répertoire classes pour trouver toutes les méthodes et regarder celles qui pourrait te servir.

 

PS: Je ne sais pas tes connaissances en PHP, mais si tu connais peu la POO tu risques quand même de pal mal galérer.

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...