Magento不会查询所有类别的活动产品

时间:2016-01-14 14:34:48

标签: magento frontend categories product

我有一个Magento安装工作正常,直到现在。

  • 它有3个店铺视图;
  • 2个商店浏览量已经在线且工作正常
  • 第三个正在开发中

在第三家商店,我正在添加产品,但在一个数字后,它停止在前端显示。

  • 我检查了它出错的地方,它位于类别的中间
  • 我检查了类别和产品的可见性和所有其他选项

接下来我做了:

  • 复制在前端已经看到的产品,副本没有显示

我检查了主题是否被破坏所以我在list.phtml中查询完整的根类别: - 在2个正确的商店中,可见产品数量与类别管理下后端显示的产品数量相同 - 在第三家商店,品类管理部门表示有137种产品,而前端的数量则为93。

我用它来查询完整的根类别并计算它:

$cat_ID = 41
$category = Mage::getModel('catalog/category')->load($cat_ID);
  $productCollection = $category->getProductCollection();
  $productCollection
          ->addStoreFilter()
          ->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds())
          ->addMinimalPrice()
          ->addFinalPrice()
          ->addTaxPercents()
          ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
          ->addUrlRewrite();

似乎只是停止查询93个条目。我禁用并启用了产品,但它对30+产品没有任何影响,这些产品由于未知原因未显示。我刷新了缓存和索引,所以情况并非如此。产品的设置完全相同,因为我通过复制测试它。

我还能尝试什么?

-----------编辑:-------------

确切地说;我用来遍历根类别中的产品的完整代码如下:

{{1}}

1 个答案:

答案 0 :(得分:0)

尝试将您粘贴的代码替换为:

$products = Mage::getModel('catalog/product')
     ->getCollection()
     ->addAttributeToSelect('*')
     ->addCategoryFilter($category)
     ->setOrder('price', 'ASC')
     ->addAttributeToFilter('visibility', 4)
     ->addAttributeToFilter('status', 1)
     ->load();