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


8

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

Запуск Magento 2.1.3

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

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

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

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

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

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

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

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


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

Ответы:


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/… ), которое охватывает те же детали ответа, но в качестве стандартного модуля, который вы можете использовать как есть или скопировать в свой собственный модуль. Это может помочь другим лучше понять, как выполнять эти задачи.
Робгт

Хорошо, вы можете создавать эти папки так же, как вы создаете новый модуль.
Игорь Ревенко,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.