tags:

views:

474

answers:

1

Hi All

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()
+1  A: 

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.

pygorex1
Looks like this could help, but I can't seem to get any output from it, even if I use *Mage::getModel('catalog/product')->getCollection();*.
Sam
Got it. Just need to change return to echo: echo implode(',', $sku);
Sam