I am trying to build a script that outputs all the product options for each product in the catalog into a CSV file.

I have tried using the code on this page: http://www.atwix.com/magento/configurable-product-attributes/

For this code:

$attribute = Mage::getModel('eav/config')-&gt;getAttribute('catalog_product', 'color');  
foreach ($attribute-&gt;getSource()-&gt;getAllOptions(true) as $option) {
    echo $option['value'] . ' ' . $option['label'] . "\n";
}


I get no output, what-so-ever.

For this code:

$productAttributeOptions = $product-&gt;getTypeInstance(true)-&gt;getConfigurableAttributesAsArray($product);
$attributeOptions = array();
foreach ($productAttributeOptions as $productAttribute) {
    foreach ($productAttribute['values'] as $attribute) {
        $attributeOptions[$productAttribute['label']][$attribute['value_index']] = $attribute['store_label'];
    }
}


I get this error:

Fatal error:  Call to undefined method Mage_Catalog_Model_Product_Type_Simple::getConfigurableAttributesAsArray() in /home/tws2/public_html/getopts.php on line 71

Ive been unable to find anything else on the internet for getting at the product options of a product with PHP code.

Can someone please explain to me how to use PHP to get at all the product options data for each product in the catalog, so I can output all this data into a CSV file.

The purpose of this is to transfer the product options data over to an identical Magento server that has the same catalog, just missing the product options data. Once I have all the CSV file of product options I was going to make another script to write them into the identical Magento server. This is how Ive been advised to do this task in-house, if you have a better suggestion please let me know.


Question: Increasing the search query limit (Apache Solr)
Answer: To do that programatically, you can implement hook_apachesolr_query_alter() to play with the rows parameter :

function yourmodule_apachesolr_query_alter($query) {
  // Increase the number of results per query
  $query-&gt;replaceParam('rows', 50);
}


Note : To disable the pager you can set a very very large number of rows, but it may impact performance. In this case you may prefer to bypass the pager at another level (for example in a preprocess function) and go with a more reasonable rows value.