title: How can I get the 'friendly' text for product status and visibility attributes?
body: <p>How can I get the friendly text for a products status and visibility options. for example, 'Enabled' or 'Disabled' rather the 1 or 2, and similarly for visibility 'Not Visible Individually', 'Catalog, Search' etc rather than 1,2,3 or 4?</p>
  
  <p>I'm guessing there is a function somewhere that can take <code>$product-&gt;getStatus</code> and return the text value? and a similar one for visibility?</p>
  
  <p>I'm just playing about getting used to magento trying to build a simple list:</p>
  
  <pre><code>$products = Mage::getModel('catalog/product')
      -&gt;getCollection();
  
  foreach ( $products as $product ) { 
    echo $product-&gt;getSku();
    echo $product-&gt;getStatus();
    echo $product-&gt;getVisibility();
  }
  </code></pre>
  
  <p>but would like status and visibility to appear as they do in the admin pages rather than the numeric values.</p>
  
  <p>EDIT: With the help of Mufaddal's answer, my final solution was;</p>
  
  <pre><code>$products = Mage::getModel('catalog/product')
      -&gt;getCollection()
      -&gt;addAttributeToSelect('sku')
      -&gt;addAttributeToSelect('status')
      -&gt;addAttributeToSelect('visibility')
      -&gt;addAttributeToSort('sku', 'asc');
  
  foreach( $products as $product ){
      echo 'SKU: ' .$product-&gt;getSku() . '&lt;br/&gt;';
      echo 'Visibility: ' . $product-&gt;getResource()-&gt;getAttribute('visibility')-&gt;getFrontend()-&gt;getValue($product); . '&lt;br/&gt;';
      echo 'Status: ' . $product-&gt;getResource()-&gt;getAttribute('status')-&gt;getFrontend()-&gt;getValue($product); . '&lt;br/&gt;';
  }
  </code></pre>
  
  <p>I needed to either <code>-&gt;addAttributeToSelect('*')</code> or specify each attribute in the select before the getResource calls would work e.g. <code>$product-&gt;getResource()-&gt;getAttribute('status')-&gt;getFrontend()-&gt;getValue($product);</code>.</p>