Товары Magento 2, не показанные в категории (но видимые через поиск)

8

Есть небольшая проблема здесь с категориями.

Запуск Magento 2.1.3

Все остальные категории отображают правильное количество товара, кроме этой нажмите здесь, чтобы посмотреть1]

В категории Продукция-> Категории -> В категории «Смерть королевства» показано 66 товаров.

Однако, когда вы переходите на внешний интерфейс, он отображает только 16 продуктов.

То, что я сделал до сих пор:

  • Очищено кэшировано
  • Переиндексировал все
  • Удалить / повторно добавить продукты в той же категории
  • Убедитесь, что продукты включены
  • Убедитесь, что товары есть в наличии
  • Убедитесь, что видимость продукта установлена ​​на «Каталог, Поиск»

Я сравнил те 16 продуктов, которые видны «невидимым», и нет видимых изменений, все параметры и атрибуты идентичны.

Кроме того, если я ищу «невидимый» продукт на сайте, он отобразит его и найдет, но не сработает, если я попытаюсь найти его по категории.

Очень ценю помощь!

rootex
источник
Вы должны установить каталог продукта видимости, поиск из бэкэнда и запустить команду индексации.
Ракеш Джесадия,

Ответы:

4

Это мой правильный ответ. Я только что столкнулся с вашей проблемой на моем сайте. Мой сайт основан на Magento 2.1.5. Вы должны добавить некоторые xml и php файлы в папку вашего приложения.

Тем более, что сайт просто живой, мой ответ просто более удобный.

Мы можем легко добавить эти два файла в оригинальную папку Modules.

App \ код \ Modules \ Каталог \ и т.д. \ 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>

Приложение \ код \ Modules \ Каталог \ модели \ индексатор \ Категория \ Продукт \ 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. 
    }
}

Затем мы должны запустить эту команду.

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

Наконец, мы получили целых 2000 товаров на нашей странице категории вместо прежних 340 товаров на странице внешнего интерфейса. Кроме того, вкладка «Категория продукта» в управлении индексами только обновляется с даты обновления версии до текущей даты и времени индексации.

Хороший опыт!

Надеюсь, что это поможет многим разработчикам и владельцам.

Игорь Ревенко
источник
Отличный ответ ... так как у меня есть категория, в которой есть продукты 60К, и я искал какое-то решение, и это просто превосходно ...
Great Indian Brain
У меня нет папки "app \ code \ Modules" в моем магазине? Достаточно ли просто создать эту папку «Модули» и создать эти два файла, или в ответе требуется больше подробностей, чтобы помочь моему пониманию?
Робгт
Я нашел это ( github.com/bangerkuwranger/… ), которое охватывает те же детали ответа, но в качестве стандартного модуля, который вы можете использовать как есть или скопировать в свой собственный модуль. Это может помочь другим лучше понять, как выполнять эти задачи.
Робгт
Хорошо, вы можете создавать эти папки так же, как вы создаете новый модуль.
Игорь Ревенко,