我正在尝试编写一个脚本来将一些产品从 MySQL 数据库中的产品列表传输到 Magento 1.6.2 商店。我有以下代码:
$product = Mage::getModel('catalog/product');
$product->setTypeId('simple');
$product->setWebsiteId("2");
$product->setName($row['name']);
$product->setDescription('No Description');
$product->setShortDescription('No Description');
$product->setAttributeSetId(4); // need to look this up
$product->setSku($sku);
if (isset($row['price'])) $product->setPrice($row['price']);
if (isset($row['msrp'])) $product->setMsrp($row['msrp']);
$product->setCategoryId($map_mysql_cat_to_mage_cat[$row['category_id']]);
$product->setWeight($weight);
$product->setManufacturer($row['manufacturer']);
$product->setTaxClassId(2); // taxable goods
$product->setVisibility(4); // catalog, search
$product->setStatus(1); // enabled
// assign product to the default website
echo "Adding Product...";
$product->save();
echo "Product Added." . PHP_EOL;
这导致产品成功添加到 Magento 目录,并且名称、SKU、价格、MSRP 和重量设置正确。
但是,制造商属性、类别和网站仍然未设置/为空。$row['manufacturer'] 绝对是一个有效的非空字符串,并且 $map_mysql_cat_to_mage_cat[$row['category_id']] 解析为一个匹配有效类别 ID 的整数。
我哪里错了,我把头发扯掉了!