Forum CMS Made Simple FR

Version complète : Products, formulaire de saisie et recherche
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site : inaccessible depuis internet
#~ Hébergeur / Soft :
#~ Informations Système : Serveur Linux
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

Je désire créer un site référençant divers objets avec leur photos. Il s'agit d'un site à usage personnel, c'est pour gérer mon stock de bric à brac, ça doit rester simple (ou sihmpeul).

J'ai implémenté une base avec les modules Products et Gallery pour avoir un joli affichage d'images.

Maintenant j'aimerai :
* ajouter un système de recherche sur des critères personnalisé (Ex. je veux les objets de telle forme et telle couleur en dessous d'une certaine taille).
* implémenter un formulaire de saisie unique pour saisir Products et Gallery d'un coup, parce que pour l'instant je dois saisir un produit, ensuite saisir la galerie d'images et enfin revenir dans products pour y reseigner le nom de la galerie correspondante.

Pour la recherche, des suggestions ?

Existe-t-il un moyen simple de créer le formulaire ?

M'y suis-je mal pris/aurai-je du utiliser d'autres modules ?

Je suis ouvert à toute suggestion, pour l'instant je patauge.
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...