Magento 2产品未显示在类别中(但通过搜索可见)


8

在这里遇到了类别问题。

运行Magento 2.1.3

除此类别外,所有其他类别均显示正确数量的产品 点击这里查看1]

产品->类别->“王国死亡”类别下显示66个产品。

但是,当您进入前端时,它将仅显示16个产品。

我到目前为止所做的事情:

  • 清除缓存
  • 重新索引所有内容
  • 删除/重新添加相同类别的产品
  • 确保产品已启用
  • 确保物品有库存
  • 确保将产品可见性设置为“目录,搜索”

我将这16种产品对可见的产品与“不可见的”产品进行了比较,并且没有可见的变化,所有参数和属性都相同。

另外,如果我在网站上搜索“不可见”产品,它将显示并找到它,但是如果我尝试使用category来找到它,将无法正常工作。

非常感谢您的帮助!


您必须设置产品可见性Catalog,从后端搜索并运行索引命令。
Rakesh Jesadiya'2

Answers:


4

这是我的正确答案。我刚刚在我的网站上遇到了您的问题。我的网站基于Magento 2.1.5。您应该在您的应用程序文件夹中添加一些xml和php文件。

特别地,站点只是现场制作的一个,我的回答只是更方便的回答。

我们可以轻松地将这两个文件添加到原始Modules文件夹中。

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. 
    }
}

然后,我们应该运行此命令。

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

最后,我们在类别页面上获得了全部2000个产品,而不是在前端页面上获得了之前的340个产品。同样,索引管理上的“产品类别”标签只是从升级版本的日期更新到当前索引的日期和时间。

很棒的经验!

希望这对许多开发人员和所有者有帮助。


很好的答案..因为我的类别有6万种产品,并且正在寻找解决方案,所以这非常好...
很棒的印度头脑

我的商店中没有“ app \ code \ Modules”文件夹吗?仅创建那个Modules文件夹并创建这两个文件就足够了吗?或者答案中需要更多详细信息来帮助我理解吗?
robgt

我发现了这个(github.com/bangerkuwranger/…),它涵盖了相同的答案细节,但是作为一个标准模块,您可以按原样使用,也可以复制到自己的模块中。这可能有助于其他人更好地了解如何执行这些任务。
robgt

好的,您可以像创建新模块一样创建这些文件夹。
伊戈尔·雷文科
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.