Prestashop更新自定义产品字段

时间:2017-01-19 16:34:24

标签: prestashop prestashop-1.6

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

它出了什么问题?

1 个答案:

答案 0 :(得分:0)

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

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

然后在更新功能

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

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