2012-02-29 25 views
0

私はMagentoストアを持っており、www.retailtower.comのサービスを使ってフィードを生成しています。しかし、彼らのウェブサイトからフィルタリングするために必要なカスタム属性が1つあります。 カスタム属性コードが呼び出されるフィードにカスタム属性を追加する

私はretailtowerからみんなと話「is_imported」しかし、彼らは、彼らは私の製品にその属性を参照してください傾けると言います。

私は数ヶ月前からいくつかの電子メールを確認しました。私はPHPファイルをインストールしなければならない製品を見ることができるようになったので、それを使って製品をインポートしました。

これは私が見つけたコードです。どのようにしてカスタム属性を追加することができますか?

<?php 
set_time_limit(300); 
ini_set('memory_limit', '-1'); 
include_once 'app/Mage.php'; 
umask(0); 
Mage::app(); 


     $products = Mage::getModel('catalog/product')->getCollection(); 
    $products->addAttributeToSelect('*'); 
    $products->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED)); 

     $visibility = array(
     Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH, 
     Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG 
     ); 
     $products->addAttributeToFilter('visibility', $visibility); 

    $products->load(); 

    $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 

         //echo "Total Count =: ".count($products); 
         //echo "<pre>"; 
         //print_r($products); 

     $collection = Mage::getResourceModel('catalog/product_collection'); 



$output = '<?xml version="1.0" encoding="utf-8"?> 
<products>'; 
if (count($collection)){ 
//echo "<pre>"; 
foreach ($products as $product){ 
    //var_dump($product->getdata());die; 
$output .= '<product>'; 
    foreach ($product->getdata() as $key=>$value) { 
     if ($key!=='stock_item') { 
     //my code start 

     $url = $product->getProductUrl(); 
     if (($key == 'url_path') || ($key =='url_key')){ 
     $value = $url; 
     $value = str_replace('/productapi.php','',$value); 
     $value = trim ($value); 
     } 

     if ($key == 'image'){ 
     $value = $baseUrl."media/catalog/product".$value; 
     //$value = str_replace('/productapi.php','',$value); 
     //$value = trim ($value); 
     } 

     if ($key == 'manufacturer'){ 
     //$value = $baseUrl."media/catalog/product".$value; 
     $value = Mage::getModel('catalog/product')->load(PRODUCT_ID); 
     $value = $value->getAttributeText('manufacturer'); 
     //$value = "kofi"; 
     //$value = str_replace('/productapi.php','',$value); 
     //$value = trim ($value); 
     } 

     //$search = array('&','<','>','"','\'','-','—',"'",'(',')','™','®','©'); 
     //$replace = array('&#38;','&lt;','&gt;','&quot;','&apos;','&#45;','&#x2015;','&#39;','&#40;','&#41;','&trade','&#174;','&copy'); 
     //$value = str_replace($search,$replace,$value); 
     /* $value = str_replace('&','',$value); 
     $value = str_replace('</br>','',$value); 
     $value = str_replace('<br/>','',$value); 
     $value = str_replace('>','',$value); 
     $value = str_replace('<','',$value);*/ 
     $value = "<![CDATA[$value]]>"; 





     $key = str_replace('"','',$key); 
     //my code end 

      $output .= '<'.$key.'>'.$value.'</'.$key.'>'; 

     } 


    } 
$categories = $product->getCategoryIds(); 
$output .= '<categories>'; 
    foreach($categories as $k => $_category_id): 
      $_category = Mage::getModel('catalog/category')->load($_category_id); 
      $cat_name = $_category->getName(); 
      $cat_url = $_category->getUrl(); 

      $cat_name = "<![CDATA[$cat_name]]>"; 
      $cat_url = "<![CDATA[$cat_url]]>"; 

      $output .= '<category>'; 
      $output .= '<name>'.$cat_name.'</name>'; 
      $output .= '<url>'.$cat_url.'</url>'; 
      $output .= '</category>';   
    endforeach; 
$output .= '</categories>'; 
$output .= '</product>'; 
$url = $product->getProductUrl(); 
//$url = str_replace('/productapi.php','',$url); 
// $url = trim ($url); 


}//endforeach; 
    $output .= ' 
    </products>'; 
}//endif; 
header ("Content-Type: text/xml; charset=ISO-8859-1"); 
print $output; 




?> 

答えて

0

追加してみ

$products->addAttributeToSelect('is_imported'); 

$products = Mage::getModel('catalog/product')->getCollection(); 
関連する問題