另一種方式來做到這一點,您提交新數量時,請確保您也提交產品ID和屬性ID。然後在你的鉤子,你可以做一個檢查。
public function hookActionUpdateQuantity($params)
{
if ((int)Tools::getValue('id_product') != $params['id_product']
|| (int)Tools::getValue('id_attribute') != $params['id_product_attribute']) {
return false;
}
// do your stuff
}
每次鉤actionUpdateQuantity
觸發你有一個$params
陣列產品中其數量正在更新。
$params['id_product'] // id of a product being updated
$params['id_product_attribute'] // id of product combination being updated
$params['quantity'] // quantity being set to product
這樣,當您從模塊更新產品數量時,您的掛鉤只能運行一次(表格?)。當您更新其他產品數量時,它們也會觸發此掛鉤,但由於$params
數組中的數據與您的POST數據不同,掛鉤方法將返回false。
嗯,就像使用鎖定文件一樣。所以,我假設我的模塊仍在運行時調用actionUpdateQuantity鉤子。使用這個技巧,模塊知道它仍在運行並退出。我認爲這個鉤子是在我的模塊結束後調用的。我會嘗試! – Juanjico
我正在測試並反駁看看它被調用了多少次,並認爲它是2.但找不到原因。可能與'hookActionProductSave'有關,但沒有找到其他解決方案。 –