Magento-以编程方式保存的产品在后端不可见 [英] Magento - Programmatically saved product not visible in backend

查看:41
本文介绍了Magento-以编程方式保存的产品在后端不可见的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试在Magento 1.5.1上使用以下代码创建产品.产品已保存在数据库中,但未出现在后端产品网格中.如果我调用产品视图网址,则某些字段未填写,例如:名称,说明(请参阅:否).

I've tried to create a product with the following code on a Magento 1.5.1. The Product has been saved in the database but doesn't appear in the backend product grid. If I call the product view url, some fields are not filled, like: Name, Description (see:NOK).

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

$product->setSku("ABC123") // OK
    ->setName("Type 7 Widget") // NOK
    ->setDescription("This widget will give you years of trouble-free widgeting.") // NOK
    ->setShortDescription("High-end widget.") // NOK
    ->setPrice(70.50) // OK
    ->setTypeId('simple') // OK
    ->setAttributeSetId('14') // need to look this up // OK
    ->setCategoryIds("3,7") // need to look these up // OK
    ->setWeight(1.0) // OK
    ->setTaxClassId(1) //taxable goods // ?
    ->setVisibility(4) // catalog, search // NOK
    ->setStatus(Mage_Catalog_Model_Product_Status::STATUS_ENABLED); // enabled // NOK

$product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()));

$product->save();

这是产品,保存在数据库print_r($product->debug());

This is the product, saved in database print_r($product->debug());

[type_id] => simple
[sku] => ABC123
[has_options] => 0
[required_options] => 0
[created_at] => 2012-04-26 12:57:22
[updated_at] => 2012-04-26 12:57:22
[weight] => 1
[url_path] => .html
[price] => 70.5000
[enable_googlecheckout] => 1
[name] => Type 7 Widget
[meta_title] => Type 7 Widget
[meta_description] => Type 7 Widget, Fotos
[url_key] => type-7-widget
[options_container] => container2
[delivery_time] => 2-3 Tage
[generate_meta] => 0
[status] => 1
[tax_class_id] => 1
[visibility] => 4
[description] => This widget will give you years of trouble-free widgeting.
[short_description] => High-end widget.
[meta_keyword] => Type 7 Widget, Fotos
[media_gallery] => Array
    (
        [images] => Array
            (
            )

        [values] => Array
            (
            )

    )

[tier_price] => Array
    (
    )

[tier_price_changed] => 0
[stock_item (Mage_CatalogInventory_Model_Stock_Item)] => Array
    (
        [product_id] => 158
        [product_name] => Type 7 Widget
        [store_id] => 1
        [product_type_id] => simple
        [product_status_changed] => 1
    )

[is_in_stock] => 1
[is_salable] => 1
)

任何帮助都会很棒!

使用以下代码指定要保存产品的商店:

Specify the store you want to save the products for with the following code:

Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID));

推荐答案

在设置多个商店的情况下,请不要忘记设置网站.

Don't forget to set the Website in case of multi-stores setup.

这篇关于Magento-以编程方式保存的产品在后端不可见的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆