Jump to content

Nascondere prodotti senza immagine


Recommended Posts

Ciao a tutti. Ho un sito online collegato ad un gestionale di magazzino. Il sito viene aggiornato costantemente dal gestionale con prodotti e quantità. E fin qui tutto ok. Il sito è poi collegato tramite modulo ad amazon, che mi mette in vendita tutto. Per poter mettere migliaia di articoli in vendita su amazon, gli articoli devono essere attivi sul sito. Caricando l'intero magazzino, amazon rileva i codici ean e associa tutti gli articoli a quelli esistenti sul marketplace anche quelli ai quali non ho messo nessuna immagine. E fin qui tutto bene. Il problema però è che gli articoli senza immagine me li ritrovo tutti online sul mio sito creando così disordine. 

La domanda è questa. C'è un modo per lasciare tutti gli articoli on line e nascondere solamente quelli senza immagine?

Grazie 

Prestashop 8.1.2 

Tema classic

Link to comment
Share on other sites

Dovrestoi modificare la classe Product che è quella responsabile della query dei prodotti, così da far selezionare solo i prodotti con delle immagini. 

Non è difficilissimo se sai dove mettere le mani, altrimenti puoi pagare uno sviluppatore per farlo.

M.

 

Link to comment
Share on other sites

Ecco uno script che può essere salvato nella cartella principale di Prestashop ed eseguito da un URL.

<?php
include_once('./config/config.inc.php');

$db = Db::getInstance();
$sql = 'SELECT a.id_product AS product_id_product FROM '._DB_PREFIX_.'product a WHERE a.id_product NOT IN (SELECT b.id_product FROM '._DB_PREFIX_.'image b)';
$products = Db::getInstance()->ExecuteS( $sql );

if ($products) {
    foreach($products as $product) {
        $db->update('product', array('active' => '0'), 'id_product = '.$product['product_id_product']);
        $db->update('product_shop', array('active' => '0'), 'id_product = '.$product['product_id_product']);
        echo 'disabled product: '.$product['product_id_product'].'<br>';
    }
} else {
    echo 'all products have some picture';
}

 

Edited by ps8moduly.cz (see edit history)
  • Like 1
Link to comment
Share on other sites

Può essere facilmente modificato nello script.

$db->update('product', array('visibility' => 'none', 'show_price' => '1', 'indexed' => '1'), 'id_product = '.$product['product_id_product']);
$db->update('product_shop', array('visibility' => 'none', 'show_price' => '1', 'indexed' => '1'), 'id_product = '.$product['product_id_product']);

hide-product-without-images.zip

Edited by ps8moduly.cz (see edit history)
  • Like 1
Link to comment
Share on other sites

1 hour ago, New Sense said:

ho bisogno che sia comunque abilitato alla vendita, ma avrei bisogno che sia nascosto se non ha l'immagine (prende quella di sistema che indica immagine non disponibili)

Questo è ciò che fa la sceneggiatura!! 

È nascosto solo per i clienti. Per eovoty vedeteli ed è possibile ordinarlo.

Naturalmente sarà più sicuro aggiungere un token allo script.

Edited by ps8moduly.cz (see edit history)
  • Like 1
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...