Sé que hay un problema similar con respecto a un producto , pero ahora tengo este error con una categoría.
No recuerdo que hice algo diferente, de repente comenzó a arrojar este error tan pronto como llegué a una página de categoría en la interfaz.
A veces, volver a guardar la categoría en el administrador resolvió el problema, pero la mayoría de las veces no lo hace. ¿De dónde viene este error? ¿Como arreglarlo? ¿Alguien más también encontró este error?
Editar
Parece que la página de categoría le pide a la tabla de reescritura de URL las URL. Genera esta consulta:
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
Pero si su url_rewrite
-tabla está dañada (lo que es más probable en mi caso), termina con ID duplicados.
Sometimes re-saving the category in the admin resolved the issue
Esto funcionó para mí, ¡Gracias!Respuestas:
php bin/magento indexer:reindex
fuente
php bin/magento indexer:reindex
fuente
La siguiente consulta SQL limpia reescrituras de categorías duplicadas. No lo use sin una copia de seguridad.
Puede usar
n98-magerun2 db:console
o cualquier otro cliente mysql:fuente
Para nosotros solo ejecutar esto hizo el truco:
Nuestro error (con Magento 2.2.2) fue este al hacer una búsqueda frontend o al ingresar una categoría:
fuente