当我以编程方式更新属性时,它不会反映在管理员身上。为什么?
When I update an attribute programatically, it doesn't reflect on admin. Why?
我有一个属性 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,这是“是”的值,但我没有看到在管理员下拉菜单中选择“是”。
为什么回显显示 11063 时下拉菜单不显示是?
这是我的属性设置。我正在使用 Magento 1.9。
尝试使用此代码希望这对您有用。
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();
我发现在 Mage::app() 之后我错过了这个
Mage :: app ()->setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID);
我有一个属性 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,这是“是”的值,但我没有看到在管理员下拉菜单中选择“是”。
为什么回显显示 11063 时下拉菜单不显示是?
这是我的属性设置。我正在使用 Magento 1.9。
尝试使用此代码希望这对您有用。
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();
我发现在 Mage::app() 之后我错过了这个
Mage :: app ()->setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID);