2015-06-16 151 views
-1

即时通讯使用导入脚本,从xml导入简单且可配置的产品到magento。导入具有属性的产品magento

问题是,导入的简单产品是我magento,但他们没有分配属性值。

通过APIv2导入运行良好,但速度很慢,为什么我需要在模型上执行此操作。

我的问题是: 这是(代码如下)是否正确? Meybe你有更好的,不同梅托德到属性值assigne产品:-)

$product->setData('rozmiar',$Products['sizeId']); 
$product->setData('kolor',$Products['colorId']); 

我的代码:

$productCheck = Mage::getModel('catalog/product')->loadByAttribute('sku', $products['sku']); 
      if ($productCheck) { 
       $productCheck->delete(); 
       //print_r('true !'); 
      } 

      $color = attributeValueExists1('kolor',$Products['color']); 
      $size = attributeValueExists1('rozmiar',$Products['size']); 

      $product = Mage::getModel('catalog/product'); 
      $product->setCreatedAt(strtotime('now')); 
      $product->setTypeId($products['type']); 
      $product->setTaxClassId(0); 
      $product->setWebsiteIds(array(1)); 
      $product->setAttributeSetId($products['attrset']); 
      $product->setSku($products['sku']); 
      $product->setName($products['name']); 
      $product->setDescription($products['description']); 
      $product->setInDepth('');  
      $product->setPrice($products['price']); 
      $product->setShortDescription($products['description']); 
      $product->setWeight(0); 
      $product->setStatus(1); 
      $product->setVisibility(1); 
      //$product->setMetaDescription($products['name']); 
      //$product->setMetaTitle($products['name']); 
      //$product->setMetaKeywords($products['name']); 
      $product->setCategoryIds($products['categories']); 
      $product->setKolor($color);       
      $product->setRozmiar($size);      
      //$product->setData('rozmiar',$Products['size']); 
      //$product->setData('kolor',$Products['color']); 
      $product->setStockData(array(
        'use_config_manage_stock' => 0, 
        'manage_stock'=>1, 
        'min_sale_qty'=>1, 
        //'max_sale_qty'=>2, 
        'is_in_stock' => 1, 
        'qty' => $products['qty'] 
        ) 
      ); 

      $product->save(); 

通过SOAP APIv2 IM导入产品采用

$result = $this->client2->catalogProductCreate($this->session, $type, /*$attributeSet['set_id']*/ '4', $kod, array(
     'categories' => $kategorie, // array !!!! 
     'websites' => array(1), 
     'name' => $nazwa, 
     'description' => $opis, 
     'short_description' => $opis, 
     'weight' => '1', 
     'status' => '1', 
     'url_key' => $nazwa, 
     'url_path' => $nazwa, 
     'visibility' => '1', 
     'price' => $cena, 
     'tax_class_id' => 1, 
     'meta_title' => '', 
     'meta_keyword' => '', 
     'meta_description' => '', 
     'stock_data' => array( 'manage_stock' => '1',    
           'manage_stockSpecified' => False, 
           'is_in_stock' => '1', 
           'is_in_StockSpecified' => False, 
           'qty' => $ilosc  
          ), 
     'additional_attributes' => $additionalattr 
    ));  
    return $result; 

是additional_attributes不同from $ product-> setData('rozmiar',$ Products ['sizeID']); ? 如果不一样我怎么在通过目录/产品模型导入产品时添加additional_attributes?

+0

您只需将属性添加到属性集中(如果它们尚未存在)。 –

+0

问题是他们被添加到atributeSet:/。当im登录到管理面板时,我可以看到产品页面上的属性,但没有选择任何值。我可以手动选择值。 –

回答

0

首先,您需要为产品分配相应的属性。然后,您可以使用导入脚本将这些属性值保存到产品。