Quels index doivent être réindexés pour que les produits s'affichent correctement après un changement de stock via un script?

8

J'ai écrit un cron qui met à jour l'inventaire de mes produits tous les soirs. Quels index doivent être réindexés pour que les produits s'affichent correctement après un changement de stock via un script? Le cache doit-il être actualisé? Essayer de cerner le problème exact de la raison pour laquelle "ajouter au panier" était absent des produits la semaine dernière. La réindexation a résolu ce problème la semaine dernière, mais je dois savoir si mon script de stock a causé la nécessité de réindexer.

CaitlinHavener
la source

Réponses:

14

Si vous mettez à jour les stock options des produits, vous pouvez réindexer les tables "Stock Status" par programme:

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

Pour obtenir l'utilisation du modèle d'indexeur Mage::getModel('index/indexer')->getProcessByCode('some_indexer_code_given_below'). Magento fournit plusieurs indexeurs. Si vous mettez à jour le produit par programme, vous pouvez utiliser les indexeurs suivants, je donne juste indexer_code et vous devez changer l'extrait donné (voir la table index_process):

  • catalog_product_attribute - Attributs du produit (si vous avez mis à jour des attributs utilisés pour la navigation en couches)
  • catalog_product_price - Prix des produits (si vous avez mis à jour les prix)
  • catalog_url - Réécriture de l'URL du catalogue (si vous avez mis à jour l'URL du produit ou Catalag)
  • catalog_product_flat - Données plates sur le produit (si votre magasin utilise des tables Flate et si vous avez mis à jour des attributs de produit qui sont utilisés partout dans la logique frontale)
  • catalog_category_flat - Données plates de catégorie (si vous avez mis à jour les attributs de catégorie)
  • catalog_category_product - Produits de catégorie (si vous avez ajouté ou supprimé des produits du catalogue)
  • catalogsearch_fulltext - Index de recherche de catalogue (si vous avez mis à jour les attributs de produit pouvant être recherchés)
  • cataloginventory_stock - État du stock (si vous avez mis à jour les options d'achat d'actions du produit)
  • tag_summary - Données d'agrégation de balises (si vous avez mis à jour la balise de produit)

Et vous pouvez (vous devez actualiser les cashes après toute mise à jour des produits / catégories) nettoyer le cache magento par programmation dans votre logique:

Mage::app()->getCacheInstance()->flush();
Mage::app()->cleanCache();
mageUz
la source