Magento 2 Produk Tidak Ditampilkan di Kategori (tetapi dapat dilihat melalui pencarian)

8

Ada sedikit masalah di sini dengan Kategori.

Menjalankan Magento 2.1.3

Semua kategori lain menampilkan jumlah produk yang benar, kecuali yang ini klik di sini untuk melihat1]

Di bawah Produk-> Kategori -> kategori "Kingdom Death" menunjukkan 66 produk.

Namun, ketika Anda pergi ke front-end hanya akan menampilkan 16 produk.

Hal-hal yang telah saya lakukan sejauh ini:

  • Dihapus Tembolok
  • Mengindeks ulang semuanya
  • Hapus / tambah kembali produk ke kategori yang sama
  • Pastikan produk diaktifkan
  • Memastikan barang dalam stok
  • Memastikan visibilitas produk diatur ke "Katalog, Cari"

Saya telah membandingkan 16 produk yang terlihat dengan yang "tidak terlihat" dan tidak ada perubahan yang terlihat semua parameter dan atributnya identik.

Juga, jika saya mencari produk "tidak terlihat" di situs, itu akan menampilkannya dan menemukannya, tetapi tidak berfungsi jika saya mencoba menemukannya menggunakan kategori.

Sangat menghargai bantuannya!

rootex
sumber
Anda harus mengatur Katalog visibilitas produk, Cari dari backend dan jalankan perintah pengindeksan.
Rakesh Jesadiya

Jawaban:

4

Ini jawaban saya yang benar. Saya baru saja mengalami masalah Anda di situs saya. Situs saya didasarkan pada Magento 2.1.5. Anda harus menambahkan beberapa file xml dan php pada folder aplikasi Anda.

Terutama, situs hanya tinggal produksi satu, jawaban saya hanya jawaban yang lebih nyaman.

Kita dapat dengan mudah menambahkan kedua file ini di folder Modul asli.

app \ code \ Modul \ Katalog \ 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 \ Modul \ Katalog \ Model \ Pengindeks \ Kategori \ Produk \ Tindakan \ 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. 
    }
}

Maka, kita harus menjalankan perintah ini.

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

Akhirnya, kami mendapatkan seluruh 2000 produk di halaman kategori kami, bukan 340 produk sebelumnya di halaman depan. Juga, tab "Kategori produk" pada manajemen indeks baru saja diperbarui dari tanggal versi ditingkatkan menjadi tanggal dan waktu pengindeksan saat ini.

Pengalaman luar biasa!

Semoga ini bisa membantu banyak pengembang dan pemilik.

Igor Revenko
sumber
Jawaban yang sangat baik..saya memiliki kategori yang memiliki produk 60K dan sedang mencari beberapa solusi dan ini sangat bagus ...
Great Indian Brain
Saya tidak memiliki folder "app \ code \ Modul" di toko saya? Apakah cukup dengan hanya membuat folder Modul dan membuat dua file ini, atau lebih detail diperlukan dalam jawaban untuk membantu pemahaman saya?
robgt
Saya menemukan ini ( github.com/bangerkuwranger/… ) yang mencakup rincian jawaban yang sama, tetapi sebagai modul standar yang dapat Anda gunakan apa adanya, atau menyalin ke modul Anda sendiri. Ini mungkin membantu orang lain lebih memahami bagaimana melakukan tugas-tugas ini.
robgt
Ok, Anda bisa membuat folder-folder itu seperti membuat modul baru.
Igor Revenko