Quali indici devono essere reindicizzati affinché i prodotti vengano visualizzati correttamente dopo che lo stock è stato modificato tramite script?


8

Ho scritto un cron che aggiorna l'inventario dei miei prodotti ogni notte. Quali indici devono essere reindicizzati affinché i prodotti vengano visualizzati correttamente dopo che lo stock è stato modificato tramite script? La cache deve essere aggiornata? Cercando di individuare l'esatto problema del motivo per cui "aggiungi al carrello" mancava dai prodotti la scorsa settimana. Reindexing ha risolto il problema la scorsa settimana, ma è necessario sapere se il mio copione ha causato la necessità di reindicizzare.

Risposte:


14

Se aggiorni le stock options dei prodotti puoi reindicizzare le tabelle "Status dello stock" a livello di codice:

    try {
        $indexer = Mage::getModel('index/indexer')->getProcessByCode('cataloginventory_stock');
        $indexer->reindexEverything();
    } catch (Exception $e) {
        //Some error handling
    }

Per ottenere il modello dell'indicizzatore utilizzare Mage::getModel('index/indexer')->getProcessByCode('some_indexer_code_given_below'). Magento fornisce diversi indicizzatori. Se aggiorni il prodotto a livello di codice, puoi utilizzare i seguenti indicizzatori, solo io do indexer_code e dovresti cambiare lo snippet dato (vedi la tabella index_process):

  • catalog_product_attribute - Attributi del prodotto (se sono stati aggiornati gli attributi utilizzati per la navigazione a più livelli)
  • catalog_product_price - Prezzi dei prodotti (se hai aggiornato i prezzi)
  • catalog_url - Riscrittura URL catalogo (se hai aggiornato l'URL del prodotto o Catalag)
  • catalog_product_flat - Dati piatti del prodotto (se il tuo negozio utilizza tabelle Flate e se hai aggiornato gli attributi del prodotto che vengono utilizzati ovunque con la logica di frontend)
  • catalog_category_flat - Dati flat di categoria (se hai aggiornato gli attributi di categoria)
  • catalog_category_product - Prodotti di categoria (se aggiungi o rimuovi prodotti dal catalogo)
  • catalogsearch_fulltext - Indice ricerca catalogo (se hai aggiornato gli attributi ricercabili del prodotto)
  • cataloginventory_stock - Stato delle scorte (se sono state aggiornate le opzioni di scorta del prodotto)
  • tag_summary - Dati aggregazione tag (se hai aggiornato il tag prodotto)

E puoi (dovresti aggiornare gli incassi dopo ogni aggiornamento di prodotti / categorie) pulire la cache magento a livello di codice nella tua logica:

Mage::app()->getCacheInstance()->flush();
Mage::app()->cleanCache();
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.