当我以编程方式更新属性时,它并不反映在管理员身上。为什么呢?

时间:2017-07-07 17:43:57

标签: php magento

我有一个属性post_to_amazon,可以在产品上设置为是或否 这是我的代码:

require_once('../app/Mage.php');
Mage::app();

$_product   = Mage::getModel('catalog/product')->load("83061");
echo $_product->getPostToAmazon();
$_product->setData("post_to_amazon", "11063");
$_product->save();

回显打印11063,这是“是”的值,但我没有在管理员的下拉列表中看到“是”。 enter image description here enter image description here

当回音显示为11063时,为什么下拉显示是?

以下是我的attibute的设置。我正在使用Magento 1.9。 enter image description here

2 个答案:

答案 0 :(得分:0)

尝试使用此代码希望这对您有用。

require_once('../app/Mage.php');
Mage::app();

$_product   = Mage::getModel('catalog/product')->load("83061");
echo $_product->getPostToAmazon();
$attrCode = 'post_to_amazon';
$valueText = ('Yes');
$valueId = Mage::getModel('catalog/product')->getResource()->getAttribute($attrCode)->getSource()->getOptionId($valueText);
$_product->setData($attrCode, $valueId);
$_product->save();

答案 1 :(得分:0)

我发现我在Mage :: app()之后错过了这个   
Mage :: app ()->setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID);