[英]OpenCart Products not updating
以前它的運行情況還不錯,但是現在無論何時我創建一個新產品,它都不會出現在任何地方,無論是在插入該產品的類別中,還是在最新產品中都沒有。 但是,當我嘗試通過在特殊區域添加新價格來更新舊產品時,它正在更新。 我嘗試手動清除緩存,但沒有任何反應。 我的所有產品也已啟用。
我也嘗試在google中尋找答案,而我發現最接近的是此最新產品未更新,但該問題於2009年問到,給出的答案不適用。 我也不熟悉php,所以...有人可以幫忙嗎?
逐步檢查
我進入產品進入的類別頁面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查詢或包含一些缺失值“很可能是添加產品的日期”
或者您說您的舊產品工作正常,則意味着存在日期問題,請檢查一下
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.