以编程方式添加的 Prestashop 产品未显示在首页上

Prestashop Product added programatically is not showing on front page

这是我第一次在 prestashop 上工作。我正在使用 New Product() 添加产品,它工作正常,如果我试图通过直接 link 查看产品页面,甚至会在 prestashop 管理面板中显示产品。但它没有显示在主页(首页)上,这里奇怪的是当我单击该产品编辑并再次保存它时,prestashop 后台没有任何更改,它出现在首页上。 这是我的代码

<?php
include('config/config.inc.php');
    include('init.php'); 
    $reference = rand();
    $sql = "SELECT id_product FROM pssf_product WHERE reference='$reference'";
    $res = Db::getInstance()->getValue($sql);
    if (!empty($res)) {
        echo "already exist";
    }
    else {
        $product = new Product();
        $product->reference = $reference;
        $product->price = "100.00";
        $product->quantity = 10;
        $product->active = 1;
        $product->id_category = 2;
        $product->id_category_default = 2;
        $product->name[1] = "Sampel Product".$reference;
        $product->description[1] = "Description".$reference;
        $product->link_rewrite[1] = Tools::link_rewrite($reference);
        $product->save();
        $product->addToCategories(array(2));
        StockAvailable::setQuantity((int)$product->id, 0, $product->quantity);
        echo $product->id;
        }
    ?>

问题已通过清除 Advance Parameters > Performance > Clear cache 下的缓存解决。

您可以通过编程方式执行清除缓存:

Tools::clearSmartyCache();
Tools::clearXMLCache();
Media::clearCache();
Tools::generateIndex();