프로그래밍 방식으로 번들 제품을 만들려면 제품 사진을 추가하는 방법
-
12-12-2019 - |
문제
묶음 제품을 만드는 기능을 만들어야합니다. 이미 내 기능을 만들었으며 멋지게 작동합니다. 내 문제는 내가 제품의 이미지를 추가 할 수있는 방법입니다 (이미지, 작은 이미지).및 미리보기 이미지), 일부 검색을 구현할 수있는 좋은 방법을 찾을 수 없었습니다. 누구든지 도움이 될 수있는 경우 감사합니다.
다음은 번들 제품을 만드는 코드입니다.
$productsId = array(6,8);
$categoryId = array();
$sum = 0;
$skuSum = 0;
$ProductsName = array();
for($i=0,$j=count($productsId);$i<$j;$i++)
{
$productCheck = Mage::getModel('catalog/product');
$categoryId[] = $productCheck->load($productsId[$i])->getCategoryIds();
$productPrice = $productCheck->load($productsId[$i])->getPrice();
$productSku = $productCheck->load($productsId[$i])->getSku();
$ProductsName[] = $productCheck->load($productsId[$i])->getName();
$sum += $productPrice;
$skuSum += $productSku;
}
$bundleProductName = implode('-', $ProductsName);
$categoryIDs = call_user_func_array('array_merge', $categoryId);
$uniqueCategoryIDs = array_unique($categoryIDs);
require_once('includes/config.php');
require_once('app/Mage.php');
$storeID = 1;
$websiteIDs = array(1);
//$cats = array(8,11,9);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$p = array(
'sku_type' => 1,
'sku' => $skuSum,
'name' => $bundleProductName,
'description' => 'Pendant chian created by user',
'short_description' => 'Pendant chian created by user',
'type_id' => 'bundle',
'attribute_set_id' => 4,
'weight_type' => 0,
'visibility' => 4,
'price_type' => 1,
'price_view' => 0,
'status' => 1,
'created_at' => strtotime('now'),
'category_ids' => $uniqueCategoryIDs,
'store_id' => $storeID,
'website_ids' => $websiteIDs,
'price' => $sum
);
$productCheck->setData($p);
Mage::register('product', $productCheck);
$optionRawData = array();
$optionRawData[0] = array(
'required' => 1,
'option_id' => '',
'position' => 0,
'type' => 'multi',
'title' => 'pendant chain',
'default_title' => 'pendantChain',
'delete' => '',
);
$selectionRawData = array();
for($i=0,$j=count($productsId);$i<$j;$i++)
{
$selectionRawData[0][] = array(
'product_id' => $productsId[$i],
'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' => ''
);
}
/*$selectionRawData[0] = array();
$selectionRawData[0][] = array(
'product_id' => 7,
'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();
if($productCheck->save()){
return true;
}
else
return false;
. 해결책
이 코드를 사용하여 번들 제품에 대한 그림을 저장합니다.
$filepath
그림의 위치입니다.
$bundleProduct->addImageToMediaGallery($filePath, array('image', 'small_image', 'thumbnail'), false, false);
.
이 도움이되기를 바랍니다
제휴하지 않습니다 magento.stackexchange