If you are working on a custom project you might want to create a custom block and only show products that are visible. To do this is actually very simple in Magento. All you need to do is use the following code:
$collection = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*');
Don’t spend time re-inventing the wheel. Have a look at our Magento Admin Product Grid extension. For example, did you know you can use Magento product grid extension to more easily mark products visible or not visible directly in the grid?
Quick Extension Overview
Extendware’s Magento Admin Product Grid extension allows you to easily filter and edit your products within the product grid. You can add / remove columns, change the ordering of columns, filter by new attributes or categories, and much more. Editable Product Grid turns your Product Grid into a powerful editing tool.