1

我正在尝试使用以下代码将产品插入 Magento 网上商店:

public static function addProduct($product, $categorieId) {
    $productModel = Mage::getModel('catalog/product');

    $productModel->setTypeId(Mage_Catalog_Model_Product_Type::TYPE_SIMPLE)
            ->setWebsiteIDs(array(1))
            ->setStatus(Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
            ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
            ->setCreatedAt(strtotime('now'))
            ->setName($product->PRODUCT_DETAILS[0]->DESCRIPTION_SHORT)
            ->setCategoryIds(array($categorieId))
            ->setDescription($product->PRODUCT_DETAILS[0]->DESCRIPTION_LONG ? $product->PRODUCT_DETAILS[0]->DESCRIPTION_LONG : $product->PRODUCT_DETAILS[0]->DESCRIPTION_SHORT)
            ->setShortDescription($product->PRODUCT_DETAILS[0]->DESCRIPTION_SHORT)
            ->setPrice($product->PRODUCT_PRICE_DETAILS->PRODUCT_PRICE->PRICE_AMOUNT)
            ->setAttributeSetId($productModel->getResource()->getEntityType()->getDefaultAttributeSetId());

    $productModel->setStockData(array(
        'is_in_stock' => 1,
        'qty' => 99999
    ));

    try {
        $productModel->save();
        return $productModel->getId();
    } catch (Exception $ex) {
        Mage::log($ex->getMessage());
    }
}

然而,代码将项目插入到正确的类别中。大约 38 个项目后它停止,没有错误,什么也没有。Ajax 调用不返回任何错误,什么也没有。任何想法这可能是由什么引起的?

欢呼沃尔夫冈

4

1 回答 1

0

我猜你正在达到脚本执行时间限制(php.ini max_execution_time)

假设您没有在 PHP 的“安全模式”下运行,请尝试在方法顶部插入以下内容。(我假设这个方法被一遍又一遍地调用。它每次都会重置时间限制)

set_time_limit(30);
于 2013-01-27T18:39:47.773 回答