Невозможно установитьPrice, setTaxClassId и setWeight при программном создании продукта - PullRequest
3 голосов
/ 19 марта 2012

Я использую Magento Community Edition ver.1.6.2.0.

Я пытаюсь добавить простой продукт, используя модель сбора данных Varien (не Api).

Продукт создается, но цена, идентификатор налогового классаи вес не устанавливается.

Буду признателен, если кто-нибудь посоветует, почему эти конкретные атрибуты продукта не устанавливаются.

Вот мой код:

// instatiate Product
    $product = Mage::getModel('catalog/product');

    $product->setWebsiteIds(array(1));
    $product->setSku('99996');
    $product->setPrice(99.0000);
    $product->setAttributeSetId(4); 
    $product->setCategoryIds(array(2));
    $product->setType('Simple Product');
    $product->setName('Product Name6');
    $product->setDescription('The Product Description');
    $product->setShortDescription('Brief Description');
    $product->setStatus(1);    
    $product->setTaxClassId(2);
    $product->setWeight(1.0000);                
    $product->setCreatedAt(strtotime('now'));

    $product->save();

    $stockItem = Mage::getModel('cataloginventory/stock_item');
    $stockItem->loadByProduct($product->getId());    
    if (! $stockItem->getId()) {
        $stockItem->setProductId($product->getId())->setStockId(1);
    }
    $stockItem->setData('inventory_manage_stock_default', 1);
    $stockItem->setData('is_in_stock', 1);
    $stockItem->setData('qty', 10000);

    $stockItem->save();

Любая помощь очень ценится!

С уважением,

Джеймс

Ответы [ 3 ]

7 голосов
/ 19 марта 2012

Ошибка

$product->setType('Simple Product');

замените на

$product->setTypeId('simple');

, теперь цена установлена.Потому что цена в пурпурном зависит от типа продукта.

0 голосов
/ 03 апреля 2016

Как сказано выше, настройка $product->setType('Simple'); решит вашу проблему.Как это только что сделал мой.

0 голосов
/ 03 июля 2013

Не использовать:

$product->setType('Simple Product');

фактически не устанавливает продукт ... некоторое время не работал ... как сказано выше, используйте:

  $product->setTypeId('simple')

Это фактически установит тип ... поскольку 'простой' был определен как константа в файле / каталоге ... но не 'Простой продукт' ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...