compudoc Posted November 12, 2010 Share Posted November 12, 2010 Salut à tous,Comment faire appel à la référence produit et non à l'ID produit ?C'est urgent et je me prend la tete car je dois installer un configurateur qui fait appel à la reference et non à l'ID !!!Marc Link to comment Share on other sites More sharing options...
compudoc Posted November 12, 2010 Author Share Posted November 12, 2010 Personne n'a de reponse pour mon probleme ? Link to comment Share on other sites More sharing options...
compudoc Posted November 12, 2010 Author Share Posted November 12, 2010 Bah alors, aucun pro pouur me répondre ? C'est très important car si ce n'est pas possible il faudra que je change de solution e-commerce !Merci de votre aide car je pense qu'il y a une solution ! Link to comment Share on other sites More sharing options...
Yoya Posted November 12, 2010 Share Posted November 12, 2010 Le up de topic toute les deux heures est interdit : merci d'en tenir compte à l'avenir et d'être patient. -yoya971 Link to comment Share on other sites More sharing options...
Patric Posted November 12, 2010 Share Posted November 12, 2010 Comment faire appel à la référence produit et non à l'ID produit ? En plus la question est loin d'être claire. On ne sait pas où, ni pour quoi faire... Link to comment Share on other sites More sharing options...
compudoc Posted November 12, 2010 Author Share Posted November 12, 2010 Merci de preter attention à mon problème, pour ce qui est du up du topic, c'est juste que j'ai posé une question il y a 3 ou 4 jours et toujours pas de réponse !je vais essayer de m'expliquer plus clairement !voilà, j'ai un metaconfigurateur qui fait un tri sur marque, modele et enfin pièce. La piece trouvée a une reference XXX.Quand je clique sur le lien pour afficher l'article dans ma boutique, le lien est sous forme: ...... product.php?partno=XXX mais quand je clique il me dit produit nom trouvé ce qui est normal puisque quand je regarde un produit sur prestashop celui-ci est identifié en ....product.php?id=1234 c'est à dire que le produit correspond à un id=. mais je souhaite faire appel à la référence produit et non à l'ID produit. J'espère avoir été assez clair et qu'une solution existe.Merci Link to comment Share on other sites More sharing options...
compudoc Posted November 13, 2010 Author Share Posted November 13, 2010 bonjour,je pense avoir trouver une piste. Je crois qu'il faut que je modifie product.php pour y integrer un truc du genre $ref mais ou et comment faire ? Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 13, 2010 Share Posted November 13, 2010 Du coup, tu veux en clair récupérer les produits par leurs références ? Mais tous les liens vers tes produits sont de la forme product.php?id_product=XXX.En clair, chez toi, l'ID correspond à la référence ?Si c'est le cas, il faut modifier plutôt la Class Product.php qui construit le produit en fonction de l'ID. Mais je ne suis pas sur d'avoir compris .. ? Link to comment Share on other sites More sharing options...
compudoc Posted November 13, 2010 Author Share Posted November 13, 2010 en fait tout les produits sont créé par prestashop avec un id automatique. pas de problème pour ça ! Mon problème c'est que je fait appel un un programme spécial de recherche sur 50 000 produits qui ne fait appel lui qu'à la référence du produit et non à l'id du produit. Que dois-je modifier dans product.php pour que l'on puisse avoir une requette qui fait appel à la référence du produit! Link to comment Share on other sites More sharing options...
jeckyl Posted November 13, 2010 Share Posted November 13, 2010 Salut,au pire il te suffit de créer une nouvelle fonction de récupération de données du produit en fonction de sa référence et non de son id.Donc reprendre la fonction de base du style getProduct et en créer une nouvelle. Link to comment Share on other sites More sharing options...
compudoc Posted November 14, 2010 Author Share Posted November 14, 2010 salut,merci pour la reponse mais je ne suis pas tres calé, donc getproduct mais où et comment ? Link to comment Share on other sites More sharing options...
jeckyl Posted November 14, 2010 Share Posted November 14, 2010 Ah, pas trop calé.la fonction getProduct() doit se trouver dans la classe Product Link to comment Share on other sites More sharing options...
compudoc Posted November 15, 2010 Author Share Posted November 15, 2010 bizarre, j'ai repondu hier et cela n'apparait pas !Bon, je nage totalement.J'ai bien compris qu'il y a une modification à faire dans product.php. Je souhaite pouvoir faire autant appel à l'id qu'à la reference. Ca urge ! il doit bien y avoir quelqu'un capable de me dire ce qu'il faut rajouter afin de faire appel à cette foutu référence !Je suis totalement bloqué. Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 17, 2010 Share Posted November 17, 2010 C'est assez simple, dans Product.php, dans le dossier /classes, tu as ton ce qu'on appelle ton constructeur (fonction _contruct), qui fait appel à la fonction constructeur de la classe dont Product hérite.On le voit en haut du fichier, la classe Product "étend" la classe Object Model, du coup tu vas dans le fichier ObjectModel.php du dossier /classes pour récupérer le constructeur, enfin pour voir à quoi cela ressemble !Du coup, tu vois que tu as besoin d'une variable identifier, et de l'id_product.Il suffit juste de changer, ligne 194 :protected $identifier = 'id_product';En remplaçant id_product par reference, et cela devrait être bon. Link to comment Share on other sites More sharing options...
compudoc Posted November 17, 2010 Author Share Posted November 17, 2010 merci de ta réponse mais cela ne fonctionne pas. En fait, j'ai testé de mettre divers references produits.Résultat: si la reference du produit est XXX pas de soucis il trouve mon produit, mais si la ref est XXX.XXX cela ne fonctionne pas !Donc que faut-il modifier dans le moteur de recherche interne pour qu'il trouve des reference intégrant des "points" ?J'ai appelé Prestashop mais le tech ne savait pas trop sauf me proposer une assistance à: 360€ pour 3 h! Hors budget pour moi ! Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 17, 2010 Share Posted November 17, 2010 Oui c'est l'inconvénient de l'Open Source gratuit... Il en faut bien quand même !Le souci est simple, il vient du fait que dans ObjectModel.php, tu as un : intval($id), du coup, il attend un chiffre à tout prix.Tu peux tester le identifier, cela devrait marcher :dans le fichier ObjectModel.php, ligne 89, ajouter : $this->identifier == 'reference' ? '' : $id = intval($id); Ligne 94, remplacer par : .' WHERE a.`'.$this->identifier.'` = '.$id); En clair, si tu récupères ta référence, ton $id ne sera pas transformé en entier. A tester. Link to comment Share on other sites More sharing options...
compudoc Posted November 17, 2010 Author Share Posted November 17, 2010 désolé, aucun changement.j'ai mis $this .... avant la ligne $result = ..... Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 17, 2010 Share Posted November 17, 2010 Tu as bien changé aussi dans la requête le : intval($id) en $id ? Link to comment Share on other sites More sharing options...
compudoc Posted November 17, 2010 Author Share Posted November 17, 2010 a quel endroit ? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now