2015-03-18 1 views
0

Cela fonctionnait assez bien avant, mais maintenant, quand je crée un nouveau produit, il n'apparaît nulle part, pas dans la catégorie dans laquelle je l'ai inséré ou les derniers produits. Mais quand j'essaie de mettre à jour mes anciens produits en ajoutant un nouveau prix dans la zone spéciale, c'est la mise à jour. J'ai essayé de vider le cache manuellement mais rien ne se passe. Tous mes produits sont également activés.OpenCart Produits ne pas mettre à jour

J'ai également essayé de chercher des réponses dans google et le plus proche que j'ai trouvé était Latest Products not updating mais la question a été posée en 2009 et la réponse donnée ne s'applique pas. Je ne suis pas non plus familier avec php alors ... quelqu'un peut-il m'aider?

Répondre

0

Vérifiez étape sage

Je prends la page de la catégorie où le produit est venu opencart2 catalogue \ \ contrôleur \ produit \ category.php

$results = $this->model_catalog_product->getProducts($filter_data); 

les résultats de $ est de donner une sortie ou non si pas alors aller à opencart2 \ catalogue \ modèle \ catalog \ product.php

fonction ligne de contrôle 59 getProducts() et chèque $ sql est sortie donnant ou non

public function getProducts($data = array()) { 
     $sql = "SELECT p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 
     WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, 
     (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id 
     AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' 
     AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) 
     AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) 
     ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, 
     (SELECT price FROM " . DB_PREFIX . "product_special ps 
     WHERE ps.product_id = p.product_id 
     AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' 
     AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) 
     AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) 
     ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special"; 

ici que vous pouvez trouver votre produit sort de la base de données sinon corrigez votre requête SQL ou inclure certaines valeurs manquantes « très probablement ce sera la date du produit ajouté »

OU vous dit que votre ancien produit fonctionne bien signifie qu'il y a un problème de date vérifier