2012-12-07 47 views
0

我通過從CSV中提取數據添加了捆綁產品。以這種方式添加的產品在管理面板中可見,但不在前端。我已經經歷了所有的線程,但沒有得到解決。請幫助我處理這種情況。以編程方式添加的捆綁產品未顯示在fronend,magento問題

require_once($magentoPath . 'includes/config.php'); 
    require_once($magentoPath . 'app/Mage.php'); 
    $storeID = 1; 
    $websiteIDs = array(1); 
    $cats = array("12"); 

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

    $productCheck = Mage::getModel('catalog/product'); 

    $p = array(
    'sku_type' => 0, 
    'sku' => '687', 
    'name' => "BarProduct", 
    'description' => 'Foo', 
    'short_description' => 'Bar', 
    'type_id' => 'bundle', 
    'attribute_set_id' => 4, 
    'weight_type' => 0, 
    'visibility' => 4, 
    'price_type' => 0, 
    'price_view' => 0, 
    'status' => 1, 
    'created_at' => strtotime('now'), 
    'category_ids' => $cats, 
    'store_id' => $storeID, 
    'website_ids' => $websiteIDs 
); 

    $productCheck->setData($p); 
    Mage::register('product', $product); 
    $optionRawData = array(); 
    $optionRawData[0] = array(
    'required' => 1, 
    'option_id' => '', 
    'position' => 0, 
    'type' => 'select', 
    'title' => 'FooOption', 
    'default_title' => 'FooOption', 
    'delete' => '', 
); 

    $selectionRawData = array(); 
    $selectionRawData[0] = array(); 
    $selectionRawData[0][] = array(
    'product_id' => 337, 
    'selection_qty' => 1, 
    'selection_can_change_qty' => 1, 
    'position' => 0, 
    'is_default' => 1, 
    'selection_id' => '', 
    'selection_price_type' => 0, 
    'selection_price_value' => 0.0, 
    'option_id' => '', 
    'delete' => '' 
); 
Mage::register('productCheck', $productCheck); 
Mage::register('current_product', $productCheck); 
$productCheck->setCanSaveConfigurableAttributes(false); 
$productCheck->setCanSaveCustomOptions(true); 
    // Set the Bundle Options & Selection Data 
    $productCheck->setBundleOptionsData($optionRawData); 
    $productCheck->setBundleSelectionsData($selectionRawData); 
    $productCheck->setCanSaveBundleSelections(true); 
    $productCheck->setAffectBundleProductSelections(true); 

    $productCheck->save(); 
    $indexer = Mage::getSingleton('index/indexer'); 
foreach ($indexer->getProcessesCollection() as $process) { 
    $process->reindexAll(); 
} 
  • 請注意,無論如果我再救我的產品通過管理面板就開始顯示在前端。

回答

1

Mage::register('product', $product); =>Mage::register('product', $productCheck);

+0

非常感謝親愛的,有一個更多問題,產品一度脫銷。使它在庫存:\t \t \t \t \t \t $ productCheck-> setStockData(陣列(\t \t \t \t \t \t \t 'is_in_stock'=> 1,\t \t \t '數量'=> 12)); –

相關問題