2015-08-20 2 views
0

Я создаю простой продукт на magento программно. Продукт успешно создается с изображением, но проблема заключается в том, что он не устанавливает атрибуты Base, Thumbnail, Small_Image для изображения. Что я здесь делаю неправильно?Magento 1.8 Set Product Image attributes: Base, Thumbnail, Small_Image

  //Image parameters 
      $mediaArray = array('thumbnail', 'small_image', 'image'); 
      $img = $img_subdir.'/fimage.jpeg'; 


      //create new product 
      $newProduct = new Mage_Catalog_Model_Product(); 
      $newProduct->setAttributeSetId(9) 
         ->setTypeId('simple') 
         ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH) 
         ->setTaxClassId(2) 
         ->setCreatedAt(strtotime('now')) 
         ->setName('test product #'.mt_rand().'') 
         ->setSku(mt_rand()) 
         ->setWeight(25) 
         ->setStatus(1) 
         ->setPrice(25) 
         ->setCategoryIds(explode(',',10)) 
         ->setWebsiteIds(explode(',',1)) 
         ->setDescription('test') 
         ->setShortDescription('test') 
         ->setMetaTitle('test') 
         ->setMetaKeyword('test') 
         ->setMetaDescription('test') 
         ->setStockData(array(
              'manage_stock'=>0, 
              'min_sale_qty'=>2, 
              'max_sale_qty'=>10, 
              'manage_stock'=> 1, 
              'is_in_stock'=> 1, 
              'qty'=> 5,)) 
         ->setSetupFee(25) 
         ->addImageToMediaGallery($img, $mediaArray, false, false) 
         ->setsetupCost(25); 

         $newProduct->save(); 

ответ

0

Нечто подобное, прежде чем сохранить должны это сделать:

// Add three image sizes to media gallery 
$mediaArray = array(
    'thumbnail' => $putPathHere, 
    'small_image' => $putPathHere, 
    'image'  => $putPathHere, 
); 

foreach($mediaArray as $imageType => $fileName) { 
    $newProduct->addImageToMediaGallery($filePath, $imageType, false); 
} 
Смежные вопросы