все равно выдает ошибку, и как я понимаю, не одну. Вот в раскрытом виде, вероятно они все связаны. Понятно, что нужно прописать какой-то код с переменной id_customer в файле ObjectModel.php, но какой???
[b]Property SpecificPrice->id_customer is empty
at line 837 in file classes/ObjectModel.php[/b]
831.
832. $message = $this->validateField($field, $this->$field);
833. if ($message !== true)
834. {
835. if ($die)
836. throw new PrestaShopException($message);
837. return $error_return ? $message : false;
838. }
839. }
840.
841. return true;
[b]ObjectModelCore->validateFields - [line 255 - classes/ObjectModel.php] - [0 Argument][/b]
249. *
250. * @return array All object fields
251. */
252. public function getFields()
253. {
254. $this->validateFields();
255. $fields = $this->formatFields(self::FORMAT_COMMON);
256.
257. // For retro compatibility
258. if (Shop::isTableAssociated($this->def['table']))
259. $fields = array_merge($fields, $this->getFieldsShop());
[b]ObjectModelCore->getFields - [line 455 - classes/ObjectModel.php] - [0 Argument][/b]
449. // Database insertion
450. if (isset($this->id) && !Tools::getValue('forceIDs'))
451. unset($this->id);
452. if (Shop::checkIdShopDefault($this->def['table']))
453. $this->id_shop_default = min($id_shop_list);
454. if (!$result = ObjectModel::$db->insert($this->def['table'], $this->getFields(), $null_values))
455. return false;
456.
457. // Get object id in database
458. $this->id = ObjectModel::$db->Insert_ID();
459.
[b]ObjectModelCore->add - [line 94 - classes/SpecificPrice.php] - [2 Arguments][/b]
88. protected static $_specificPriceCache = array();
89. protected static $_cache_priorities = array();
90.
91. public function add($autodate = true, $nullValues = false)
92. {
93. if (parent::add($autodate, $nullValues))
94. {
95. // Flush cache when we adding a new specific price
96. SpecificPrice::$_specificPriceCache = array();
97. Product::flushPriceCache();
98. // Set cache of feature detachable to true
[b]SpecificPriceCore->add - [line 173 - modules/reductionmanager/reductionmanager.php] - [0 Argument][/b]
167. $specificPrice->from_quantity = (int)($from_quantity);
168. $specificPrice->reduction = (float)($reduction_type == 'percentage' ? $reduction / 100 : $reduction);
169. $specificPrice->reduction_type = $reduction_type;
170. $specificPrice->from = !$from ? '0000-00-00 00:00:00' : $from;
171. $specificPrice->to = !$to ? '0000-00-00 00:00:00' : $to;
172. if ($specificPrice->add())
173. $success++;
174. else
175. $errors++;
176. }
177. $this->_html .= $this->displayConfirmation($this->l('Updated').' ' . $success .' ' . $this->l('products').'. ' .$this->l('Errors').' ' .$errors);
[b]reductionmanager->_postProcess - [line 43 - modules/reductionmanager/reductionmanager.php] - [0 Argument][/b]
37. {
38. if (Tools::isSubmit('submitreductionmanager'))
39. {
40. $this->_postValidation();
41. if (!sizeof($this->_postErrors))
42. $this->_postProcess();
43. else
44. foreach ($this->_postErrors AS $err)
45. $this->_html .= $this->displayError($err);;
46. }
47. elseif (Tools::isSubmit('submitclear'))
[b]reductionmanager->getContent - [line 685 - controllers/admin/AdminModulesController.php] - [0 Argument][/b]
679. // We check if method of module exists
680. if (!method_exists($module, $method))
681. throw new PrestaShopException('Method of module can\'t be found');
682.
683. // Get the return value of current method
684. $echo = $module->{$method}();
685.
686. // After a successful install of a single module that has a configuration method, to the configuration page
687. if ($key == 'install' && $echo === true && strpos(Tools::getValue('install'), '|') === false && method_exists($module, 'getContent'))
688. Tools::redirectAdmin(self::$currentIndex.'&token='.$this->token.'&configure='.$module->name.'&conf=12');
689. }
[b]AdminModulesControllerCore->postProcessCallback - [line 811 - controllers/admin/AdminModulesController.php] - [0 Argument][/b]
805. $ppmReturn = $this->$ppm();
806. }
807.
808. // Call appropriate module callback
809. if (!isset($ppmReturn))
810. $this->postProcessCallback();
811.
812. if ($back = Tools::getValue('back'))
813. Tools::redirectAdmin($back);
814. }
815.
[b]AdminModulesControllerCore->postProcess - [line 158 - classes/controller/Controller.php] - [0 Argument][/b]
152. // setMedia MUST be called before postProcess
153. if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className)))
154. $this->setMedia();
155.
156. // postProcess handles ajaxProcess
157. $this->postProcess();
158.
159. if (!empty($this->redirect_after))
160. $this->redirect();
161.
162. if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className)))
[b]ControllerCore->run - [line 348 - classes/Dispatcher.php] - [0 Argument][/b]
342. // Execute hook dispatcher
343. if (isset($params_hook_action_dispatcher))
344. Hook::exec('actionDispatcher', $params_hook_action_dispatcher);
345.
346. // Running controller
347. $controller->run();
348. }
349. catch (PrestaShopException $e)
350. {
351. $e->displayMessage();
352. }
[b]DispatcherCore->dispatch - [line 53 - admin1911/index.php] - [0 Argument][/b]
47. $_POST['controller'] = strtolower($_POST['tab']);
48. if (!isset($_REQUEST['controller']) && isset($_REQUEST['tab']))
49. $_REQUEST['controller'] = strtolower($_REQUEST['tab']);
50.
51. // Prepare and trigger admin dispatcher
52. Dispatcher::getInstance()->dispatch();