Widoczność towarów

Podczas synchronizacji stanów produktów może zajść konieczność modyfikacji widoczności towarów w sklepie w zależności od ich dostępności. Można wtedy wykorzystać wyzwalacz w bazie danych, który natychmiast po modyfikacji stanu zmodyfikuje widoczność towaru w sklepie.

delimiter //
CREATE TRIGGER change_active_after_update AFTER UPDATE ON ps_stock_available
FOR EACH ROW
BEGIN
 UPDATE ps_product_shop p SET
	p.visibility=IF(
		(SELECT s.quantity FROM ps_stock_available s WHERE s.id_product_attribute=0 and s.id_product=p.id_product)>0,'both','none')
	WHERE p.id_product=NEW.id_product;
	
 UPDATE ps_product p SET
	p.visibility=IF(
		(SELECT s.quantity FROM ps_stock_available s WHERE s.id_product_attribute=0 and s.id_product=p.id_product)>0,'both','none')
	WHERE p.id_product=NEW.id_product;
END;
//
delimiter ;

Kod należy wykonać w managerze MySQL np poprzez stronę MySqlAdmin.

UWAGA. Nie ponosimy odpowiedzialności za nieprawidłowe działanie skryptu. Polecamy przekazanie tej informacji osobom doświadczonym.