Я знаю, что есть аналогичная проблема с продуктом , но теперь у меня есть эта ошибка с категорией.
Я не могу вспомнить, что я сделал что-то другое, он внезапно начал выдавать эту ошибку, как только я попал на страницу категории на веб-интерфейсе.
Иногда повторное сохранение категории в админке решало проблему, но в большинстве случаев это не так. Откуда эта ошибка? Как это исправить? Кто-нибудь еще сталкивался с этой ошибкой тоже?
редактировать
Похоже, страница категории запрашивает таблицу перезаписи URL для URL. Он генерирует этот запрос:
SELECT `e`.*,
IF(at_is_active.value_id > 0, at_is_active.value,
at_is_active_default.value) AS
`is_active`,
`url_rewrite`.`request_path`
FROM `catalog_category_entity` AS `e`
INNER JOIN `catalog_category_entity_int` AS `at_is_active_default`
ON ( `at_is_active_default`.`entity_id` = `e`.`entity_id`)
AND ( `at_is_active_default`.`attribute_id` = '46' )
AND `at_is_active_default`.`store_id` = 0
LEFT JOIN `catalog_category_entity_int` AS `at_is_active`
ON ( `at_is_active`.`entity_id` = `e`.`entity_id` )
AND ( `at_is_active`.`attribute_id` = '46' )
AND ( `at_is_active`.`store_id` = 1 )
LEFT JOIN `url_rewrite`
ON ( url_rewrite.entity_id = e.entity_id )
AND ( url_rewrite.is_autogenerated = 1
AND url_rewrite.store_id = 1
AND url_rewrite.entity_type = 'category' )
WHERE ( IF(at_is_active.value_id > 0, at_is_active.value,
at_is_active_default.value)
=
'1' )
AND ( `e`.`entity_id` IN( '10', '170', '171', '172',
'173', '175', '176', '177',
'178', '179', '180', '189', '276' ) )
ORDER BY `e`.`position` ASC
Но если ваша url_rewrite
таблица повреждена (что, скорее всего, в моем случае), это приведет к дублированию идентификаторов.
Sometimes re-saving the category in the admin resolved the issue
Это сработало для меня, спасибо!Ответы:
php bin/magento indexer:reindex
источник
Следующий SQL-запрос очищает повторные записи категорий. Не используйте без резервной копии.
Вы можете использовать
n98-magerun2 db:console
любой другой клиент MySQL:источник
php bin/magento indexer:reindex
источник
Для нас просто запуск этого сделал свое дело:
Наша ошибка (в Magento 2.2.2) заключалась в следующем: при поиске по интерфейсу или при входе в категорию:
источник