Сообщение #2 makki » 26.01.2021, 12:35
Эта ошибка не связана с артикулом. Ошибка в функции обновления товара.
Во OkayCMS 2 исправляется так:
В файле api/Products.php в функции update_product (строка 326) строку
Код: Выделить всё
$result = $this->languages->get_description($product, 'product');
переносим ниже в условие
должно получиться так
Код: Выделить всё
public function update_product($id, $product) {
$product = (object)$product;
$query = $this->db->placehold("UPDATE __products SET ?%, last_modify=NOW() WHERE id in (?@) LIMIT ?", $product, (array)$id, count((array)$id));
if($this->db->query($query)) {
$result = $this->languages->get_description($product, 'product');
if(!empty($result->description)) {
$this->languages->action_description($id, $result->description, 'product', $this->languages->lang_id());
}
return $id;
} else {
return false;
}
}
Насчет OkayCMS 3 не смотрел и не буду
Эта ошибка не связана с артикулом. Ошибка в функции обновления товара.
Во OkayCMS 2 исправляется так:
В файле api/Products.php в функции update_product (строка 326) строку
[code]$result = $this->languages->get_description($product, 'product');[/code]
переносим ниже в условие
[code]if($this->db->query($query)) {[/code]
должно получиться так
[code]public function update_product($id, $product) {
$product = (object)$product;
$query = $this->db->placehold("UPDATE __products SET ?%, last_modify=NOW() WHERE id in (?@) LIMIT ?", $product, (array)$id, count((array)$id));
if($this->db->query($query)) {
$result = $this->languages->get_description($product, 'product');
if(!empty($result->description)) {
$this->languages->action_description($id, $result->description, 'product', $this->languages->lang_id());
}
return $id;
} else {
return false;
}
}[/code]
Насчет OkayCMS 3 не смотрел и не буду
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)