Prestashop 更新自定义产品字段

Prestashop Updating Custom Product Field

我在 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();
    }
} 

有什么问题吗?

我通常在表单中添加一个隐藏字段

<input type="hidden" name="CUSTOM_TAB_LOADED" value="1">

然后在update函数中

if(!Tools::getValue('CUSTOM_TAB_LOADED'))
     return;

这样你只在加载时保存它。