Jump to content

disattivazione automatica dei prodotti con quantità 0


Fabri87

Recommended Posts

Ciao 

 

 

Bastano due query mysql che puoi lanciare da PhpMyAdmin
 
 
1. update ps_product set active = 0 where quantity = 0
 
2. update ps_product_shop set active = 0 where id_product IN(select id_product from ps_product where active = 0)
 
Mi raccomando fatti un backup prima delle due tabelle ps_product e ps_product_shop perché non è testato e lanciale in ordine prima la n. 1 poi la n. 2
 
Fammi sapere dovrebbe funzionare 
Link to comment
Share on other sites

secondo me è sempre meglio farlo manualmente, perché disattivare il prodotto l'istante dopo che il cliente ha acquistato l'ultimo pezzo non è proprio il massimo, ne per il cliente che non trova più il prodotto che ha pagato ne per l'indicizzazione.

Io sto aspettando che Fabri87 risponde, poi vedremo di cosa ha bisogno realmente.

Link to comment
Share on other sites

  • 2 months later...

Ciao gabry ti ho creato uno script per disattivare in automatico i prodotti con disponibilità 0.

 

Chiama il file come preferisci "esempio script.php" ed inserisci il codice all'interno.

 

Carica il file nella cartella di prestashop e lancialo dalla barra degli url del tuo browser ( www.tuosito.com/script.php ), anche con il cron Job se preferisci.

 

Fai un backup del Db prima

<?php

##### Includo i file di configurazione #####

$site_base_path = "./";


if (!file_exists($site_base_path . 'init.php')) {
	exit('');
}
else {
	include($site_base_path . 'config/config.inc.php');
	require_once($site_base_path . 'init.php');
}

// Mi connetto al DataBase

$conn=mysqli_connect(_DB_SERVER_, _DB_USER_, _DB_PASSWD_, _DB_NAME_);
// Verifico la connessione se è riuscita
if (mysqli_connect_errno())
  {
  echo "Connessione al Database Fallita: " . mysqli_connect_error();
  }




// Eseguo le due query per disattivare i prodotti con quantità 0


$query1="update ps_product set active = 0 where quantity = 0";

mysqli_query($conn,$query1) or die( "Errore nella query.");

$query2="update ps_product_shop set active = 0 where id_product IN(select id_product from ps_product where active = 0)";

mysqli_query($conn,$query2) or die( "Errore nella query.");


// Chiudo la connessione con il database


mysqli_close($conn);

?>
  • Like 1
Link to comment
Share on other sites

Grazie mille Daniel_WM

quando ho lanciato lo script mi ha disattivato tutti i prodotti a prescindere dalla quantità... è normale?

 

 

Adesso faccio delle prove

Poi imposto il cronjob per far in modo che ogni 5 min, per esempio, controlla le quantità e nel caso disabilita il prodotto... Giusto?

 

Auguri di Buone feste a tutti

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...

Salve,

sono curioso di sapere se questo script puo' disabilitare i prodotti non piu' gestiti da pixmania.

Importo articoli in csv da pix e purtroppo a volte ricevo ordini e non posso processarli perchè il fornitore ha finito lo stock e l'articolo è rimasto attivo sul sito.

Sarei interessato a sapere come posso baypassare questo inconveniente.

Grazie

Link to comment
Share on other sites

  • 11 months later...

Ciao, riprendo questa discussione perchè quello che voglio fare è proprio disattivare velocemente i prodotti "non disponibili" del mio catalogo. Farlo massivamente tramite pannello è abbastanza macchinoso, sapreste dirmi una query da lanciare direttamente da database? grazie

Link to comment
Share on other sites

  • 2 years later...
On 12/19/2014 at 10:42 PM, Daniel_WM said:

Ciao gabry ti ho creato uno script per disattivare in automatico i prodotti con disponibilità 0.

 

Chiama il file come preferisci "esempio script.php" ed inserisci il codice all'interno.

 

Carica il file nella cartella di prestashop e lancialo dalla barra degli url del tuo browser ( www.tuosito.com/script.php ), anche con il cron Job se preferisci.

 

Fai un backup del Db prima


<?php

##### Includo i file di configurazione #####

$site_base_path = "./";


if (!file_exists($site_base_path . 'init.php')) {
	exit('');
}
else {
	include($site_base_path . 'config/config.inc.php');
	require_once($site_base_path . 'init.php');
}

// Mi connetto al DataBase

$conn=mysqli_connect(_DB_SERVER_, _DB_USER_, _DB_PASSWD_, _DB_NAME_);
// Verifico la connessione se è riuscita
if (mysqli_connect_errno())
  {
  echo "Connessione al Database Fallita: " . mysqli_connect_error();
  }




// Eseguo le due query per disattivare i prodotti con quantità 0


$query1="update ps_product set active = 0 where quantity = 0";

mysqli_query($conn,$query1) or die( "Errore nella query.");

$query2="update ps_product_shop set active = 0 where id_product IN(select id_product from ps_product where active = 0)";

mysqli_query($conn,$query2) or die( "Errore nella query.");


// Chiudo la connessione con il database


mysqli_close($conn);

?>

Ciao, io ho un problema simile... dovrei disattivare i prodotti con prezzo 0.. è fattibile?

Link to comment
Share on other sites

  • 1 year later...

Ciao a tutti, sto quasi con lo stesso problema.... 
Ho tanti prodotti con taglie quantità "Zero"
Ma invece di disattivare il prodotto mi servirebbe eliminare solo la taglia quantità uguale a  "0" 
Se come il sito è collegato a un gestionale di magazzino del negozio fisico si aggiorna costantemente e farlo manualmente è quasi impossibile 

Avete qualche Script o Modulo da raccomandarmi ? 

Grazie. 

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...