Добавить продукт в magento Программно

Я хочу добавить товар в грамматически. Мой код для сохранения товара ниже: —

       $product = Mage::getModel('catalog/product');
$product
->setAttributeSetId(4)
->setTypeId('simple')
->setCreatedAt(strtotime('now'))
->setSku($product_sku)
->setName($product_name)
->setWeight($product_weight)
->setStatus($Status)
->setTaxClassId(2)
->setManufacturer($product_manufacturer)
->setCountryOfManufacture('US')
->setPrice($product_price)
->setCost($product_price)
->setSpecialFromDate(strtotime('now'))
->setSpecialToDate() */
->setMsrpEnabled(4)
->setMsrpDisplayActualPriceType(4)
->setMsrp($wholesale_price)
->setDescription($product_short_desc)
->setShortDescription($product_short_desc)
->setVisibility(4);

$mediaArray = array(
'thumbnail' => $imgpath,
//'small_image' => $imagepath,
// 'image'       => $imagepath,
);

$product->setStockData(array(
'use_config_manage_stock' => 1, //'Use config settings' checkbox
'manage_stock' => 1, //manage stock
'min_sale_qty' => 1, //Minimum Qty Allowed in Shopping Cart
'max_sale_qty' => 200, //Maximum Qty Allowed in Shopping Cart
'is_in_stock' => 1, //Stock Availability
'qty' => $product_quantity //qty
)
)
->setCategoryIds($categories); //assign product to categories

if ($product->save())
{
$_product = Mage::getModel('catalog/product')
->loadByAttribute('sku', $product_sku);
echo 'Added successfully';
}
}

После выполнения вышеуказанного кода я получил следующую ошибку:

Фатальная ошибка: Необработанное исключение «PDOException» с сообщением «SQLSTATE [23000]: ограничение целостности

нарушение: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется (DBNAME,catalog_product_entity
, ОГРАНИЧЕНИЕ FK_CAT_PRD_ENTT_ATTR_SET_ID_EAV_ATTR_SET_ATTR_SET_ID ИНОСТРАННЫЙ КЛЮЧ (attribute_set_id
) РЕКОМЕНДАЦИИ eav_attribute_set (attribute_set_id) O) ‘in / var / www / xxx / lib / Zend / Db / Statement / Pdo
.php: 228

Трассировки стека:

)

(Array)

INTO `ca … ‘, Array)

5 /var/www/xxx/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->в

/var/www/xxx/lib/Zend/Db/Statement/Pdo.php на линии 234

0

Решение

Я получил ответ: —
Я устанавливаю идентификатор категории с помощью

    ->setCategoryIds($categories); //assign product to categories

И теперь я использовал

    ->setCategoryIds(array($categories)); //assign product to categories

где $ category = ‘2,3,5’;

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]