7

我安装了一个新的 magento2,顶级类别正在工作,但对于子类别,即使我将产品分配给这些子类别,前端也没有显示产品。

总是说“我们找不到与选择匹配的产品”。

我在哪里可以找到 Magento 2 中负责显示产品的代码,以便我可以以编程方式对此进行诊断?

4

6 回答 6

4

要显示产品,请检查产品是否具有以下选项:

  1. 常规->状态=启用
  2. 一般->可见性=目录,搜索
  3. 库存->数量> 0
  4. 库存->库存可用性 = 有库存
  5. 网站 = 检查您的网站
  6. 类别 = 检查您的类别。

如果要检查产品到子类别,请转到目录->管理类别->选择您的类别,打开选项卡显示设置并将选项“是锚”更改为“是”。保存类别。

于 2015-11-26T07:20:20.707 回答
3

请在命令行中运行以下命令:

php bin/magento indexer:status

如果其中一个索引是“正在处理”,则转到您的 MySQL 数据库并转到 indexer_state 表。您会注意到其中一个值为“工作”,而其余值为“有效”

将 Working 设置为 Invalid 并再次重新索引。最好的方法是运行以下查询:

update magento.indexer_state set status='invalid' where status ='working'

祝你好运!

于 2017-01-11T09:48:53.883 回答
3

你可以尝试重新索引。如果这些东西都设置好了,它会起作用

1.常规->状态=启用

2.general->可见性=目录,搜索

3.库存->数量> 0

4.库存->库存可用性=库存

5.网站 = 检查您的网站

6.Catgories = 检查您的类别。

于 2016-01-21T12:46:18.007 回答
3

子类别产品显示问题解决方案,您需要遵循如下:

Magento 2 Admin==> Products==>Category==> Sub Category==> Design ==>Use Parent Category Settings==>Checked Here

在此处输入图像描述

于 2017-12-19T09:20:37.697 回答
1

这是由于重新索引问题。

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" as default setting.
    }
}

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

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

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

很棒的体验!

希望这对许多开发商和业主有所帮助。

于 2017-06-05T08:31:33.097 回答
0

我遇到了类似的问题,产品出现在父类别中,但没有出现在最初分配的子类别中。我通过点击子类别和/或(不确定是否都需要)父类别编辑页面中的“保存”按钮解决了这个问题。

于 2017-04-12T10:53:57.007 回答