Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Products, formulaire de saisie et recherche
#2
Salut,

j'utilise aussi le module Products pour un système de petites annonces, ce qui est différents dans la forme mais très similaire dans le fond.
Pour ce, j'ai crée un moteur de recherche assez complet dans une UDT {recherche} qui envoie en POST les différents critères à une seconde UDT {affichage_resultat} qui elle, va chercher les différents critères dans les tables du module Products.
Une fois la requête exécutée et les résultats récupérés, je les affiche grâce au template summary du module Products... Pour celà, dans mon UDT j'assigne toutes les variables nécessaire et j'envoie tout au template comme il est fait dans la page action defaut.php du module Products.

La requête est dynamique puisqu'elle doit pouvoir incorporer un ou plusieurs critères.

elle est du style...

Code :
[== PHP ==]
if($recherche){
   $recherches = split(" ",$recherche);
   $nbrecherches = count($recherches);

   if($rp == 0){
      $critere = "P.product_name like '%$recherches[0]%'";

      $z=1;
      while($z<$nbrecherches){
         $critere.= " AND ";
         $critere.= "P.product_name like '%$recherches[$z]%'";
         $z++;
      }
   }

if($rp == 1){
      $critere = "(P.details like '%$recherches[0]%' OR P.product_name like '%$recherches[0]%')";

      $z=1;
      while($z<$nbrecherches){
         $critere.= " AND ";
         $critere.= "(P.details like '%$recherches[$z]%' OR P.product_name like '%$recherches[$z]%')";
         $z++;
      }
   }

}

... pour la recherche de mots clefs dans le titre ou dans la description des produits

je concatène ensuite tous mes bouts de requêtes pour l'avoir au complet et l'execute.
le résultat est ensuite affiché!

pour ton formulaire de saisie, j'aurai fait un peu la même chose.

Un formulaire dans une UDT puis une seconde UDT qui traite les données, les enregistre dans les différentes tables de products et de galerie et enregistre les images au bon emplacement.
Pour ça, je pense qu'il te faut te plonger dans le code source tes modules Products et Gallery pour comprendre le cheminement utilisé pour créer une galerie et le reproduire dans ton UDT.

J'ai fait pour mon système de petite annonce un formulaire pour enregistrer des produits depuis le frontend et j'ai utilisé la technique ci-dessus:

création du formulaire, traitement des données, envoie de ces dernières dans les tables adéquates et enregistrement des images dans les bons dossiers ... cf: action.addproduct.php pour la méthode.

je te laisse mijoter tout ça...
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)