我在Prestashop中更新产品(自定义字段)时遇到问题。
我按照教程:http://blog.belvg.com/how-to-create-a-custom-product-tab-in-prestashop.html
当我以正常方式保存产品时,它工作得很好。但Prestashop 1.6在更改库存或价格时具有自动保存功能。这使我的自定义字段为空。通过试用和错误我发现,我的hookActionProductUpdate函数导致问题,但我不知道原因:
public function hookActionProductUpdate($params) {
$id_product = Tools::getValue('id_product');
$sampleObj = Belvg_Sample::loadByIdProduct($id_product);
$sampleObj->lagerplatz = Tools::getValue('lagerplatz');
$sampleObj->artnrlfr = Tools::getValue('artnrlfr');
$sampleObj->archiv = Tools::getValue('archiv');
$sampleObj->bundle = Tools::getValue('bundle');
$sampleObj->beschrieb = Tools::getValue('beschrieb');
$sampleObj->oldartnr = Tools::getValue('oldartnr');
$sampleObj->id_product = $id_product;
if(!empty($sampleObj) && isset($sampleObj->id)){
$sampleObj->update();
} else {
$sampleObj->add();
}
}
它出了什么问题?
答案 0 :(得分:0)
我通常在表单中添加一个隐藏字段
<input type="hidden" name="CUSTOM_TAB_LOADED" value="1">
然后在更新功能
if(!Tools::getValue('CUSTOM_TAB_LOADED'))
return;
这样你只能在加载时保存它。