Jump to content

désactiver un produit en fonction d'une date


Recommended Posts

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 BEGIN
UPDATE ps_product_shop SET active=0
WHERE 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
 
 
 
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...