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;
这样你只在加载时保存它。
我在 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;
这样你只在加载时保存它。