2014-01-23 4 views
3

Я делаю проект, который программно добавляет продукты Magento. Вот фрагмент кодаПрограммный продукт Magento

try{ 
    //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($data[0]) 
       ->setSku($data[1]) 
       ->setWeight($data[2]) 
       ->setStatus($data[3]) 
       ->setPrice($data[4]) 
       ->setCategoryIds(explode(',',$data[5])) 
       ->setWebsiteIds(explode(',',$data[6])) 
       ->setDescription($data[7]) 
       ->setShortDescription($data[8]) 
           .... 
       ->setFreeGroundShipping($data[18]) 
       ->setMetaTitle($data[19]) 
       ->setMetaKeyword($data[20]) 
       ->setMetaDescription($data[21]) 
       ->setStockData(array(
            'manage_stock'=>0, 
            'min_sale_qty'=>$data[22], 
            'max_sale_qty'=>$data[23])) 
       ->setSetupFee($data[24]) 
       ->setsetupCost($data[25]); 
    $newProduct->save();     
}catch(Exception $e){ 
    $result['status'] = 3; 
    $result['message'] = 'There is an ERROR happened! NOT ALL products are created! Error:'.$e->getMessage(); 
    echo json_encode($result); 
    return; 
} 

здесь возникает проблема: после выполнения кода, я вернулся в Magento управления продуктами, продукт был создан, но некоторые «просмотреть» магазин атрибутов пусты! Я зашел в базу данных и выяснил, что все атрибуты имеют значения.

Есть ли у кого-нибудь идеи, как сделать атрибуты для показа? Большое спасибо!

+0

Являются ли атрибуты заполненными по умолчанию? Или атрибуты пустые для всех просмотров/веб-сайтов? –

+0

они пусты для представления магазина по умолчанию. – CharlesDou

ответ

8

Задайте свой магазин администратору перед добавлением продуктов.

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 
+0

Эй, это работает! Это беспокоило меня целый день! Большое спасибо. – CharlesDou

+0

Рад, что я мог помочь. –

Смежные вопросы