以编程方式添加的 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();
这是我第一次在 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();