Sản phẩm Magento 2 không hiển thị trong Danh mục (nhưng hiển thị qua tìm kiếm)


8

Có một vấn đề nhỏ ở đây với Thể loại.

Chạy Magento 2.1.3

Tất cả các danh mục khác hiển thị số lượng chính xác của sản phẩm, ngoại trừ danh mục này nhấn vào đây để xem1]

Trong Sản phẩm-> Danh mục -> Danh mục "Vương quốc chết" hiển thị 66 sản phẩm.

Tuy nhiên, khi bạn đi đến một mặt trước, nó sẽ chỉ hiển thị 16 sản phẩm.

Những điều tôi đã làm cho đến nay:

  • Đã xóa bộ nhớ cache
  • Lập chỉ mục lại mọi thứ
  • Xóa / thêm lại các sản phẩm vào cùng loại
  • Đảm bảo rằng các sản phẩm được kích hoạt
  • Đảm bảo các mặt hàng trong kho
  • Đảm bảo khả năng hiển thị của sản phẩm được đặt thành "Danh mục, Tìm kiếm"

Tôi đã so sánh 16 sản phẩm có thể nhìn thấy với những sản phẩm "vô hình" và không có thay đổi rõ ràng nào, tất cả các tham số và thuộc tính đều giống hệt nhau.

Ngoài ra, nếu tôi tìm kiếm sản phẩm "vô hình" trên trang web, nó sẽ hiển thị và tìm thấy nó, nhưng không hoạt động nếu tôi cố gắng tìm nó bằng một danh mục.

Rất cảm kích sự giúp đỡ!


bạn phải đặt Danh mục hiển thị sản phẩm, Tìm kiếm từ phụ trợ và chạy lệnh lập chỉ mục.
Rakesh Jesadiya

Câu trả lời:


4

Đây là câu trả lời đúng của tôi. Tôi vừa trải qua vấn đề của bạn trên trang web của tôi. Trang web của tôi dựa trên Magento 2.1.5. Bạn nên thêm một số tệp xml và php vào thư mục ứng dụng của bạn.

Đặc biệt, trang web chỉ là sản xuất trực tiếp, câu trả lời của tôi chỉ là câu trả lời thuận tiện hơn.

Chúng ta có thể dễ dàng thêm hai tệp này vào thư mục Mô-đun gốc.

ứng dụng \ code \ Mô-đun \ Danh mục \ 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>

ứng dụng \ 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. 
    }
}

Sau đó, chúng ta nên chạy lệnh này.

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

Cuối cùng, chúng tôi đã nhận được toàn bộ 2000 sản phẩm trên trang danh mục của chúng tôi thay vì 340 sản phẩm trước đó trên trang frontend. Ngoài ra, tab "Danh mục sản phẩm" về quản lý chỉ mục chỉ được cập nhật từ ngày phiên bản được nâng cấp thành ngày và thời gian lập chỉ mục hiện tại.

Trải nghiệm tuyệt vời!

Hy vọng điều này sẽ giúp nhiều nhà phát triển và chủ sở hữu.


Câu trả lời tuyệt vời..như tôi có một danh mục có 60K sản phẩm và đang tìm kiếm một giải pháp nào đó và điều này thật tuyệt vời ...
Great Brain Brain

Tôi không có thư mục "app \ code \ Modules" trong cửa hàng của mình? Là đủ để chỉ cần tạo thư mục Mô-đun đó và tạo hai tệp này, hoặc chi tiết hơn cần thiết trong câu trả lời để giúp tôi hiểu?
cướp

Tôi đã tìm thấy cái này ( github.com/bangerkuwranger/ Mạnh ) bao gồm các chi tiết câu trả lời tương tự, nhưng là một mô-đun chuẩn mà bạn có thể sử dụng nguyên trạng hoặc sao chép vào mô-đun của riêng bạn. Điều này có thể giúp người khác hiểu rõ hơn về cách thực hiện các nhiệm vụ này.
cướp

Ok, bạn có thể tạo các thư mục đó giống như bạn tạo một mô-đun mới.
Igor Earnko
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.