Tutorial :How to get a Magento product collection as a comma separated list of SKU's



Question:

I have a custom module I made for Magento. From the admin, there is a multi-select list of store products. The selected products from this are output in the form of a comma separated list of SKU's - for example:

// Get Featured Products from list      $configData = Mage::getStoreConfig('featured_products');      $featuredlist = $configData['settings']['featuredlist'];  

This gives the output in the following format if I < ?php echo $featuredlist ?>:

cn,asc,ken,steve,nine,ecco,ana  

Is it possible to output a collection from a category in the same way, as a comma separated list of SKU's? I currently use the following to get a collection:

$_productCollection = Mage::getResourceModel('reports/product_collection')      ->addAttributeToSelect('*')      ->addAttributeToFilter('visibility', $visibility)      ->addCategoryFilter($_category);      $_productCollection->load()  


Solution:1

You can iterate a product collection and collect the SKU's of each as an array:

$sku= array();  foreach ($_productCollection as $product) {   $sku[]= $product->getSku();  }  return implode(',', $sku);  

I use this for collections returned by Mage::getModel('catalog/product')->getCollection();. YMMV with the reports/product_collection model.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »