使某些类别在 Magento 搜索栏中不可搜索

Make some categories un-searchable in Magento search bar

我正在制作 Magento 主题。我是 Magento 的新手。在我的网站上,搜索栏工作正常,但我们已经从网站上删除了一些产品类别。所以我想让这些类别不可搜索。我不知道该怎么做?它们仍然是可搜索的。我正在使用 Magento 管理面板。请帮我解决这个问题。接下来我应该采取什么步骤?

有些类别给我这个错误

Fatal error: Call to a member function getId() on a non-object in /home/...../template/catalog/layer/view.phtml on line 122

这些不是您要查找的类别。

当您使用搜索栏时,Magento 会搜索产品,类别在这里只是属性。 寻找类别是不一致的:产品 A 属于类别 C1 和 C2。 C1在搜索中被禁止,然后会发生什么?

相反,您可以为每个产品设置可搜索性。 在产品管理页面的 General 选项卡中,检查 Visibility 字段和 select Catalog。 产品不会出现在搜索结果中(之后不要忘记重新索引)。

您还可以在管理产品 页面上使用批量操作对一堆产品执行此操作。 Select 您要编辑的产品,然后在操作下拉菜单(右上角)select Update Attributes。在下一页上,您可以更改所有这些产品的可见性。

如果您 "removed" 来自管理面板的类别,它应该是不可搜索的,但是,如果索引已经过时并且在您再次搜索之前没有重新索引,它可以 "be searched"。 运行 a indexer.php 重新索引所有。

php indexer.php --reindexall

运行 这个命令在 /shell 目录