Magento не может изменить количество продукта в бэкэнде

У меня странная проблема в magento. Все, что я изменяю на вкладке «Инвентаризация» продукта, получает сброс после нажатия кнопки «Сохранить».

У кого-нибудь была подобная проблема в прошлом?

Есть ли способ шаг за шагом смоделировать процесс сохранения, чтобы я мог видеть, где появляется ошибка?

До сих пор я пытался:

  • Отключить все дополнения
  • Переиндексировать все новое
  • Удалить весь кеш в бэкэнде / через SQL / через ssh
  • Удалить все товары и категории

Извините за отсутствие информации. Если вам нужна какая-либо информация, пожалуйста, не стесняйтесь спрашивать.

Спасибо за помощь!

0

Решение

Пожалуйста, попробуйте следующее решение может помочь вам

Я отследил это в app / code / core / Mage / CatalogInventory / Model / Observer.php.

Событие catalog_product_save_after вызывает метод saveInventoryData, который, в свою очередь, вызывает метод _prepareItemForSave.

Вокруг линии 225:

$originalQty = $product->getData('stock_data/original_inventory_qty');
if (strlen($originalQty)>0) {
$item->setQtyCorrection($item->getQty()-$originalQty);
}

Если вы закомментируете эту строку:

$item->setQtyCorrection($item->getQty()-$originalQty);

Кажется, чтобы исправить проблему & уровни запасов теперь остаются правильными при сохранении товара, одновременно создавая / отменяя заказ на передней панели & бэкэнд сайта.

0

Другие решения

Я выяснил, где проблема была:
У меня более 4000+ различных атрибутов продукта. Каждый раз, когда я сохраняю продукт, информация обо всех 4000 атрибутах передается пост-методом. Кажется, это слишком много, и URL-адреса обрезаются после фиксированного значения символов. Таким образом, количество информации не передается.

Каждый продукт имеет только 1-30 атрибутов, заполненных информацией, остальное пустое. Но какие атрибуты заполнены, зависит от конкретного продукта. Я выбрал этот метод создания атрибута для каждой информации, потому что я хотел бы установить индивидуальность, если информация доступна для поиска или фильтрации.

Решением было увеличить max_input_vars в php.ini.

Спасибо!

0

По вопросам рекламы [email protected]