Създавам модул за Prestashop и трябва при всяка промяна на продукт да преизчислява цената. Това е моят код:
public function hookActionProductUpdate($params)
{
if ($this->context->controller->controller_type == 'front')
return ;
$id = $params['id_product'];
$po = new Product($id);
$cats = Product::getProductCategories($po->id);
foreach ($cats as $cat)
{
if ($cat == "49")
{
$ok = 1;
break 1;
}
else
$ok = 0;
}
if ($ok == 0)
return 0;
$po->price_tax_exc = $this->CalculatePrice($po);
var_dump($po->price_tax_exc);
$po->save(); // THE PROBLEM IS HERE
}
Проблемът е, че когато щракна върху запазване, никога няма да се върна към списъка с продукти в администратора. Когато заменя save() с add() това е същото нещо, но създава продукт в цикъл. Така че save() е в цикъл и не знам защо...