Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 21st, 2012  |  syntax: None  |  size: 2.64 KB  |  hits: 19  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <code>
  2. <?php
  3. define('SAVE_FEED_LOCATION','google_base_feed.txt');
  4. set_time_limit(1800);
  5. require_once '../app/Mage.php';
  6. Mage::app('default');
  7. try{
  8.     $handle = fopen(SAVE_FEED_LOCATION, 'w');
  9.  
  10.     $heading = array('id','mpn','title','description','link','image_link','price','brand','product_type','condition', 'google_product_category', 'manufacturer', 'availability');
  11.     $feed_line=implode("\t", $heading)."\r\n";
  12.     fwrite($handle, $feed_line);
  13.  
  14.     $products = Mage::getModel('catalog/product')->getCollection();
  15.     $products->addAttributeToFilter('status', 1);
  16.     $products->addAttributeToFilter('visibility', 4);
  17.     $products->addAttributeToSelect('*');
  18.     $prodIds=$products->getAllIds();
  19.  
  20.     $product = Mage::getModel('catalog/product');
  21.  
  22.     $counter_test = 0;
  23.  
  24.     foreach($prodIds as $productId) {
  25.  
  26.         if (++$counter_test < 30000){
  27.  
  28.             $product->load($productId);
  29.  
  30.             $product_data = array();
  31.             $product_data['sku'] = $product->getSku();
  32.             $product_data['mpn'] = $product->getSku();
  33.  
  34.             $title_temp = $product->getName();
  35.             if (strlen($title_temp) > 70){
  36.                 $title_temp = str_replace("Supply", "", $title_temp);
  37.                 $title_temp = str_replace("  ", " ", $title_temp);
  38.             }
  39.             $product_data['title'] = $title_temp;
  40.  
  41.  
  42.             $product_data['description'] = substr(iconv("UTF-8","UTF-8//IGNORE",$product->getDescription()), 0, 900);
  43.             $product_data['Deeplink'] = "http://www.yourwebsite.com".$product->getUrlPath();
  44.             $product_data['image_link'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getImage();
  45.  
  46.             $price_temp = round($product->getPrice(),2);
  47.             $product_data['price'] = round($product->getPrice(),2) + 5;
  48.  
  49.             $product_data['brand'] = $product->getData('brand');
  50.  
  51.             $product_data['product_type'] = 'Computer Accessories';
  52.             $product_data['condition'] = "new";
  53.             $product_data['category'] = $product_data['brand'];
  54.             $product_data['manufacturer'] = $product_data['brand'];
  55.  
  56.             $product_data['availability'] = "in stock";
  57.  
  58.             foreach($product_data as $k=>$val){
  59.                 $bad=array('"',"\r\n","\n","\r","\t");
  60.                 $good=array(""," "," "," ","");
  61.                 $product_data[$k] = '"'.str_replace($bad,$good,$val).'"';
  62.             }
  63.  
  64.             echo $counter_test  . " ";
  65.  
  66.             $feed_line = implode("\t", $product_data)."\r\n";
  67.             fwrite($handle, $feed_line);
  68.             fflush($handle);
  69.  
  70.         }
  71.  
  72.     }
  73.  
  74.     fclose($handle);
  75. }
  76. catch(Exception $e){
  77.     die($e->getMessage());
  78. }</code>