【发布时间】:2016-03-14 07:24:06
【问题描述】:
我想以语法的方式添加产品。我保存产品的代码如下:-
$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
, CONSTRAINT FK_CAT_PRD_ENTT_ATTR_SET_ID_EAV_ATTR_SET_ATTR_SET_ID FOREIGN KEY (attribute_set_id
) 参考 eav_attribute_set (attribute_set_id) O)' 在 /var/www/xxx/lib/Zend/Db/Statement/Pdo
.php:228
堆栈跟踪:
0 /var/www/xxx/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
1 /var/www/xxx/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(数组
)
2 /var/www/xxx/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute
(数组)
3 /var/www/xxx/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
4 /var/www/xxx/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT
INTO `ca...', 数组)
5 /var/www/xxx/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->qu in/var/www/xxx/lib/Zend/Db/Statement/Pdo.php 第 234 行
【问题讨论】:
标签: php magento product magento-1.8 programmatically-created