Magento 2-Produkte werden nicht in der Kategorie angezeigt (sind jedoch über die Suche sichtbar)

8

Habe hier ein kleines Problem mit Kategorien.

Ausführen von Magento 2.1.3

Alle anderen Kategorien außer dieser zeigen die richtige Produktmenge an Klicken Sie hier, um anzuzeigen1]

Unter Produkte-> Kategorien -> Kategorie "Kingdom Death" werden 66 Produkte angezeigt.

Wenn Sie jedoch zu einem Front-End wechseln, werden nur 16 Produkte angezeigt.

Dinge, die ich bisher getan habe:

  • Zwischengespeichert gelöscht
  • Alles neu indiziert
  • Produkte derselben Kategorie entfernen / erneut hinzufügen
  • Stellen Sie sicher, dass die Produkte aktiviert sind
  • Stellen Sie sicher, dass die Artikel auf Lager sind
  • Stellen Sie sicher, dass die Produktsichtbarkeit auf "Katalog, Suche" eingestellt ist.

Ich habe diese 16 sichtbaren Produkte mit den "unsichtbaren" verglichen und es gibt keine sichtbaren Änderungen. Alle Parameter und Attribute sind identisch.

Wenn ich auf der Website nach dem "unsichtbaren" Produkt suche, wird es angezeigt und gefunden, funktioniert aber nicht, wenn ich versuche, es anhand einer Kategorie zu finden.

Vielen Dank für die Hilfe!

Rootex
quelle
Sie müssen den Produktsichtbarkeitskatalog festlegen, vom Backend aus suchen und den Indexierungsbefehl ausführen.
Rakesh Jesadiya

Antworten:

4

Das ist meine richtige Antwort. Ich habe gerade Ihr Problem auf meiner Website erlebt. Meine Seite basiert auf Magento 2.1.5. Sie sollten einige XML- und PHP-Dateien zu Ihrem App-Ordner hinzufügen.

Insbesondere ist die Site nur eine Live-Produktion, meine Antwort ist nur eine bequemere Antwort.

Wir können diese beiden Dateien problemlos zum ursprünglichen Modulordner hinzufügen.

app \ code \ Modules \ Catalog \ 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. 
    }
}

Dann sollten wir diesen Befehl ausführen.

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

Schließlich haben wir ganze 2000 Produkte auf unserer Kategorieseite anstelle der vorherigen 340 Produkte auf der Frontend-Seite. Außerdem wird die Registerkarte "Produktkategorie" in der Indexverwaltung nur ab dem Datum der Aktualisierung der Version auf das aktuelle Datum und die Uhrzeit der Indizierung aktualisiert.

Tolle Erfahrung!

Hoffe, dies wird vielen Entwicklern und Eigentümern helfen.

Igor Revenko
quelle
Ausgezeichnete Antwort ... da ich eine Kategorie mit 60K-Produkten habe und nach einer Lösung gesucht habe und dies einfach ausgezeichnet ist ...
Great Indian Brain
Ich habe keinen Ordner "app \ code \ Modules" in meinem Shop. Reicht es aus, einfach diesen Modulordner zu erstellen und diese beiden Dateien zu erstellen, oder werden in der Antwort weitere Details benötigt, um mein Verständnis zu verbessern?
Robgt
Ich habe dies gefunden ( github.com/bangerkuwranger/… ), das die gleichen Antwortdetails abdeckt, aber als Standardmodul, das Sie unverändert verwenden oder in Ihr eigenes Modul kopieren können. Dies kann anderen helfen, besser zu verstehen, wie diese Aufgaben ausgeführt werden.
Robgt
Ok, Sie können diese Ordner so erstellen, als würden Sie ein neues Modul erstellen.
Igor Revenko