- Сбойные версии: сбою подвержены все версии Magento Community Edition и Magento Enterprise Edition.
- Место сбоя: сбой может случиться при любой административной операции, которая обновляет товарные разделы: при перестройке расчсётных таблиц, при установке и обновлении модулей, при редактировании товарных разделов.
- Описание сбоя:
На экране появляется сообщение «Notice: Undefined offset in Mage/Catalog/Model/Resource/Category/Flat.php» или «Notice: Undefined index in Mage/Catalog/Model/Resource/Category/Flat.php».
Конкретная строка сбоя зависит от используемой версии Magento Community Edition или Magento Enterprise Edition. - Причина сбоя:
Причиной сбоя является повреждение базы данных интернет-магазина некорректными ручными правками администратором либо некорректными автоматическими правками базы данных некачественными сторонними модулями.
Magento Community Edition и Magento Enterprise Edition неспособны продолжать работу при подобном повреждении базы данных и поэтому завершают работу сбойно. Сами по себе Magento Community Edition и Magento Enterprise Edition не виноваты, однако в устранении сбоя никак не помогают, выдавая на экран непонятное сообщение, при котором далеко не очевидно, что делать дальше. - Описание сбоя в других источниках:
сбой широко описан в других источниках:
Notice: Undefined offset (index) in Mage/Catalog/Model/Resource/Category/Flat.php
Полезных рекомендаций по устранению сбоя там нет.
Способ устранения сбоя:
Российская сборка Magento, начиная с версии 2.39.1, обладает способностью самодиагностики и самовосстановления в ситуациях, когда база данных интернет-магазина повреждёна некорректными ручными правками или работой некорректных модулей.
Вместо непонятного диагностического сообщения, которое пишут Magento Community Edition и Magento Enterprise Edition, Российская сборка Magento даёт администратору конкретные рекомендации для восстановления базы данных и тем самым значительно экономит Вам время и деньги.
Эти рекомендации могут быть разными и зависят от конкретной ситуации.
Например, рекомендация может быть такой:
Цитата
База данных интернет-магазина повреждена некорректными правками администратора либо некорректными действиями некоего некачественного стороннего модуля.
Из базы данных было некорректно удалено некое свойство товарного раздела с идентификатором «180».
Для восстановления базы данных интернет-магазина Вам надо теперь вручную удалить из таблицы catalog_category_entity_int базы данных оставшуюся там информацию данного товарного свойства.
Для этого надо выполнить следующий запрос SQL:
DELETE FROM catalog_category_entity_int WHERE '180' = attribute_id;
Из базы данных было некорректно удалено некое свойство товарного раздела с идентификатором «180».
Для восстановления базы данных интернет-магазина Вам надо теперь вручную удалить из таблицы catalog_category_entity_int базы данных оставшуюся там информацию данного товарного свойства.
Для этого надо выполнить следующий запрос SQL:
DELETE FROM catalog_category_entity_int WHERE '180' = attribute_id;