产品没有出现在Magento2子类别上
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了产品没有出现在Magento2子类别上相关的知识,希望对你有一定的参考价值。
我安装了一个新的magento2,顶级类别正在运行,但是对于子类别,即使我将产品分配给这些子类别,也没有产品出现在前端。
它总是说“我们找不到符合选择的产品。”
我在哪里可以找到Magento 2中负责显示产品的代码,以便以编程方式诊断出来?
要显示产品,请检查产品是否包含以下选项:
- 常规 - >状态=已启用
- general-> Visibility = Catalog,Search
- 库存 - >数量> 0
- 库存 - >库存可用性=库存
- 网站=检查您的网站
- 类别=检查您的类别。
如果要将产品检查到子类别,请转到目录 - >管理类别 - >选择您的类别,打开选项卡显示设置并将选项“Is Anchor”更改为“是”。保存类别。
您可以尝试重新索引。如果这些都设置完毕,它可以工作
1.General-> Status = Enabled
2.general->可见性=目录,搜索
3.库存 - >数量> 0
4.库存 - >库存可用性=库存
5.Websites =检查你的网站
6.Categories =检查您的类别。
请在命令行中运行以下命令:
php bin/magento indexer:status
如果其中一个索引是“Processing”,那么转到mysql数据库并转到indexer_state表。您会注意到其中一个值为“Working”,而其余值为“Valid”
将工作设置为无效并再次重新编制索引。执行此操作的最佳方法是运行以下查询:
update magento.indexer_state set status='invalid' where status ='working'
祝好运!
子类别产品显示问题解决方案,您需要按照以下方式操作:
Magento 2 Admin ==>产品==>类别==>子类别==>设计==>使用父类别设置==>在这里查看
这是由于重新索引问题。
应用程序代码模块目录等 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="MagentoCatalogModelIndexerCategoryProductActionFull" type="ModulesCatalogModelIndexerCategoryProductActionFull" />
</config>
应用程序代码模块目录型号索引目录产品行动 Full.php
<?php
namespace ModulesCatalogModelIndexerCategoryProductAction;
/**
* Class AbstractAction
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class Full extends MagentoCatalogModelIndexerCategoryProductActionFull {
public function isRangingNeeded() {
return false; // It was "True" as default setting.
}
}
然后,我们应该运行此命令。
php bin/magento cache:clean
php bin/magento indexer:reindex
最后,我们在我们的类别页面上获得了整个2000个产品,而不是前端页面上的前340个产品。此外,索引管理的“产品类别”选项卡仅从升级版本的日期更新为当前索引日期和时间。
很棒的经历!
希望这将有助于许多开发人员和所有者。
我有类似的问题,产品出现在父类别中,但不在最初分配的子类别中。我通过点击子类别中的“保存”按钮和/或(不确定是否必要)父类别编辑页面来解决它。
以上是关于产品没有出现在Magento2子类别上的主要内容,如果未能解决你的问题,请参考以下文章
用于 WordPress 的 PHP 片段,用于获取所有产品子类别
如何在类别产品列表底部的 magento 2.1.8 中移动静态块
在 WooCommerce 订单页面上列出单独购买的产品的类别和子类别