OpenCart产品未更新

时间:2015-03-18 16:39:52

标签: php opencart opencart2.x

以前工作得很好,但是现在每当我创建一个新产品时,它都没有出现在任何地方,而不是我插入的类别或最新产品。但是当我尝试通过在特殊区域添加新价格来更新我的旧产品时,它正在更新。我尝试手动清除缓存但没有任何反应。我的所有产品也都已启用。

我也尝试在google中寻找答案,而我发现的最接近的是Latest Products not updating,但问题是在2009年被问到的,并且给出的答案不适用。 我也不熟悉php所以...有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

逐步检查

我正在拍摄产品所在的类别页面 opencart2 \ catalog \ controller \ product \ category.php

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

检查$ results是否给出了一些输出,如果不是那么 转到opencart2 \ catalog \ model \ catalog \ product.php

检查第59行getProducts()函数和 检查$ sql是否提供输出

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";

只有在这里你才能发现你的产品是从数据库出来的,如果没有,那么请更正你的sql查询或包含一些缺失值&#34;最有可能的是它将是添加产品的日期&#34;

OR 你说你的旧产品工作正常意味着有一些日期问题检查