Magento get all products

后端 未结 6 847
故里飘歌
故里飘歌 2021-02-05 21:28

I am trying to get the entire magento product collection, without any filters or restrictions, but I fail to get all products.

I\'ve tried various methods already, but t

相关标签:
6条回答
  • 2021-02-05 21:48

    try using

    Mage::app()->setCurrentStore('0');
    // same as 
    Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
    

    this hepled me

    0 讨论(0)
  • 2021-02-05 21:56

    Several possibilities here: 1. Some inner limitation, like 500 at all. 2. Some paging limitation. Products per page(in db abstract) 3. Some lazyload limitation.

    Perhaps, there is some over problem, but I think this is some inner limit.

    0 讨论(0)
  • 2021-02-05 22:03

    Turn off your flat_catalog_product in admin > system > configuration > catalog > catalog. After this you will get a full product collection. Even though this is a workaround, it helped me to achieve what I needed to achieve.

    0 讨论(0)
  • 2021-02-05 22:11

    And something like this:

    $products = Mage::getModel('catalog/product')->getCollection();
    foreach($products as $prod) {
    $product = Mage::getModel('catalog/product')->load($prod->getId());
    }
    

    With this method I get more than 500 but all my product...

    0 讨论(0)
  • 2021-02-05 22:11

    You might be using Flat Catalog Product Structure . This create separate table for each store view.

    Use Code below to print sql query . you will see the collection is coming from flat table like

    catalog_product_flat_38

    echo Mage::getModel('catalog/product')->getCollection()->getSelect();
    
    0 讨论(0)
  • 2021-02-05 22:13
    //to overwrite limit but you need first to increase your memory limit
    
     $collection = Mage::getModel('catalog/product')->getCollection()
    ->addAttributeToSelect('*') // select all attributes
    ->setPageSize(5000) // limit number of results returned
    ->setCurPage(1); // set the offset (useful for pagination)
    
    // we iterate through the list of products to get attribute values
    foreach ($collection as $product) {
      echo $product->getName(); //get name
      echo (float) $product->getPrice(); //get price as cast to float
      echo $product->getDescription(); //get description
      echo $product->getShortDescription(); //get short description
      echo $product->getTypeId(); //get product type
      echo $product->getStatus(); //get product status
    
      // getCategoryIds(); returns an array of category IDs associated with the product
      foreach ($product->getCategoryIds() as $category_id) {
          $category = Mage::getModel('catalog/category')->load($category_id);
          echo $category->getName();
          echo $category->getParentCategory()->getName(); // get parent of category
      }
      //gets the image url of the product
      echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).
          'catalog/product'.$product->getImage();
      echo $product->getSpecialPrice();
      echo $product->getProductUrl();  //gets the product url
      echo '<br />';
    }
    
    0 讨论(0)
提交回复
热议问题