roman77 Posted April 29, 2014 Posted April 29, 2014 Bonjour à tous. Je suis en train de mettre en place une billeterie en ligne sous prestashop. (v 1.5) Je me permet de soliciter la communauté , car je bloque sur une fonctionnalité particulière (je suis intégrateur et novice en php). Il faudrait que mon client puisse définir une date d'expiration pour chaques produits. J'ai déjà mon champ personnalisé dans le BO sous forme de date picker + le champ dans la base de donnée. Et voilà ce que je n'arrive pas à faire : Si la date du jour est égale ou supérieure à la date d'expiration, le produit est désactiver (passe à 0 dans le champs "active" de table ps_product_shop). Là, je ne sais vraiment pas comment m'y prendre. Faut-il utiliser les overrides ? Faire un module ? Existe t-il une fonctionnalité native ? En faisant le tour du web et des forums, la solution qui me semble la plus adequate est la création d'un trigger, mais tout ça est très flou pour moi. Voici le script en question, que je souhaiterais adapter : DELIMITER $CREATE TRIGGER `change_active_after_update` AFTER UPDATE ON `ps_stock_available`FOR EACH ROW BEGINUPDATE ps_product_shop SET active=0WHERE id_product IN (SELECT id_product FROM ps_stock_available WHERE quantity=0)AND DATEDIFF(NOW(),date_upd)>30;UPDATE ps_product_shop SET active=1 WHERE id_product IN (SELECT id_product FROM ps_stock_available WHERE quantity>0);END $/* Reset the delimiter back to ";" */DELIMITER ; J'ai une erreure à l'exécution de cette commande sous phpmyadmin (apparement, je n'ai pas les droits suffisants), je suis sous un ovh mutualisé. Bref, est-ce la bonne voie ? Si quelqu'un peux m'aider, ce serais genial. Merci d'avance Share this post Link to post 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