Los productos Magento 2 no se muestran en la categoría (pero son visibles a través de la búsqueda)

8

Tengo un pequeño problema aquí con las categorías.

Ejecutando Magento 2.1.3

Todas las demás categorías muestran la cantidad correcta de producto, excepto esta. haga clic aquí para ver1]

En Productos-> Categorías -> la categoría "Muerte del Reino" muestra 66 productos.

Sin embargo, cuando va a un front-end, solo mostrará 16 productos.

Cosas que he hecho hasta ahora:

  • Borrado en caché
  • Re-indexado todo
  • Eliminar / volver a agregar productos a la misma categoría
  • Asegúrese de que los productos estén habilitados
  • Asegúrese de que los artículos estén en stock
  • Se aseguró de que la visibilidad del producto esté establecida en "Catálogo, Buscar"

Comparé esos 16 productos que son visibles para los "invisibles" y no hay cambios visibles, todos los parámetros y atributos son idénticos.

Además, si busco el producto "invisible" en el sitio, lo mostrará y lo encontrará, pero no funciona si trato de encontrarlo usando una categoría.

Agradezco mucho la ayuda!

rootex
fuente
debe configurar el Catálogo de visibilidad del producto, Buscar desde el backend y ejecutar el comando de indexación.
Rakesh Jesadiya

Respuestas:

4

Esta es mi respuesta correcta. Acabo de experimentar su problema en mi sitio. Mi sitio está basado en Magento 2.1.5. Debe agregar algunos archivos xml y php en la carpeta de su aplicación.

Especialmente, el sitio es solo una producción en vivo, mi respuesta es una respuesta más conveniente.

Podemos agregar fácilmente estos dos archivos en la carpeta de Módulos original.

aplicación \ código \ Módulos \ Catálogo \ etc \ di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Catalog\Model\Indexer\Category\Product\Action\Full" type="Modules\Catalog\Model\Indexer\Category\Product\Action\Full" />
</config>

app \ code \ Modules \ Catalog \ Model \ Indexer \ Category \ Product \ Action \ Full.php

<?php 
namespace Modules\Catalog\Model\Indexer\Category\Product\Action;

/**
 * Class AbstractAction
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/

class Full extends \Magento\Catalog\Model\Indexer\Category\Product\Action\Full {

    public function isRangingNeeded() {
        return false; //It was "true" on default vendor part. 
    }
}

Entonces, debemos ejecutar este comando.

php bin/magento cache:clean
php bin/magento indexer:reindex

Finalmente, obtuvimos 2000 productos completos en nuestra página de categoría en lugar de los 340 productos anteriores en la página frontend. Además, la pestaña "Categoría de producto" en la gestión de índices se acaba de actualizar desde la fecha de la versión actualizada a la fecha y hora de indexación actual.

¡Gran experiencia!

Espero que esto ayude a muchos desarrolladores y propietarios.

Igor Revenko
fuente
Excelentes answer..as que tienen una categoría que tiene 60K productos y fue en busca de alguna solución y esto es simplemente excelente ...
Great Indian cerebro
¿No tengo una carpeta "app \ code \ Modules" en mi tienda? ¿Es suficiente simplemente crear esa carpeta de Módulos y crear estos dos archivos, o se necesitan más detalles en la respuesta para ayudar a mi comprensión?
robgt
Encontré esto ( github.com/bangerkuwranger/… ) que cubre los mismos detalles de respuesta, pero como un módulo estándar que puede usar tal cual o copiar en su propio módulo. Esto podría ayudar a otros a comprender mejor cómo realizar estas tareas.
robgt
Ok, puedes crear esas carpetas como creas un nuevo módulo.
Igor Revenko