【问题标题】:Fatal error on abstract.phtml, trying to get a product collection of products in stock onlyabstract.phtml 上的致命错误,试图仅获取库存产品的产品集合
【发布时间】:2013-09-14 19:40:07
【问题描述】:

当我尝试使用以下代码从某个类别中获取 4 种库存产品时

 $_helper = $this->helper('catalog/output');
 $_category = Mage::getModel('catalog/category')->load($this->getCategoryId());
 $_productCollection = Mage::getResourceModel('reports/product_collection')
                       ->addAttributeToSelect('*')
->addAttributeToFilter('is_in_stock', 1)
->addAttributeToFilter('qty', ">1")
                       ->addCategoryFilter($_category)
                       ->setVisibility(array(2,3,4));
 $_productCollection->getSelect()->order(new Zend_Db_Expr('RAND()'));                  
 $_productCollection->setPage(1, 4);

我遇到了以下异常

Fatal error: Call to a member function getBackend() on a non-object in /home/xxx/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 816

【问题讨论】:

    标签: php magento zend-framework magento-1.6


    【解决方案1】:

    尝试像这样获取产品集合:

    $_productCollection = Mage::getResourceModel('reports/product_collection')
                           ->addAttributeToSelect('*')
                           ->addCategoryFilter($_category)
                           ->setVisibility(array(2,3,4));
    Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($_productCollection); //this should filter in stock products only
    $_productCollection->getSelect()->order(new Zend_Db_Expr('RAND()'));                  
    $_productCollection->setPage(1, 4);
    

    【讨论】:

      【解决方案2】:

      发生此错误通常是由于调用了错误的模型,或将过滤器应用于该集合中不存在的属性仔细检查当前 magento 上是否存在产品属性 ID 转到管理员检查您的属性和匹配键

      ->addAttributeToFilter('is_in_stock', 1)
      ->addAttributeToFilter('qty', ">1")
      

      确保您的 in stock 属性与 is_in_stock 标识符和 qty 相同

      请注意,请用您在您使用的版本标记您的问题 如果是 1.4 还是 1.7 ?另外magento官方支持Linux环境

      【讨论】:

      • 当我检查管理员时,这些属性都不存在,我猜它们是默认属性,因为我可以逐个产品地编辑它们。
      猜你喜欢
      • 1970-01-01
      • 2011-12-14
      • 2023-03-05
      • 1970-01-01
      • 2017-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      相关资源
      最近更新 更多