我正在尝试将Magento的某些功能集成到我的自定义CMS中,以便我的客户更轻松地更新他们的某些产品。
我已经编写了类来检索我需要的所有数据信息,但我正在试图找出如何以相同的方式保存对产品的更改(IE,颜色,大小,包装等属性)。这可以通过法师来做吗?
现在我基本上构建了一个类如下,然后有各种函数来过滤产品,会话和生成缩略图...但我似乎无法找到任何编辑产品的东西。
Mage::app();
$this->model = Mage::getModel('catalog/product');
有没有其他人尝过这个?
答案 0 :(得分:5)
您需要先加载特定产品。您可以使用load()方法并传入产品ID:
来实现$this->model = Mage::getModel('catalog/product')->load(1111);
然后您可以设置(修改)您的产品数据:
$this->model->setName('New Product Name');
$this->model->setPrice(99.99);
$this->model->setShortDescription('New Short Description');
然后只需运行save()方法来保存产品:
$this->model->save();
答案 1 :(得分:2)
所以经过多次麻烦之后,我拼凑了一些有用的代码:
function setAttribute($pid,$options)
{
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$this->model = Mage::getModel('catalog/product')->load($pid);
foreach ($options as $k=>$v)
{
$this->model->setData($k,$v);
}
$this->model->save();
}
您传递了产品ID以及您要为所述产品更新的数据数组 如下所示:
$options = array('labels'=>"No",
'sizee_us_gal'=>1.98,
'size_l'=>7.5,
'makes_us_gal'=>7,
'makes_l'=>23,
'timeframe_weeks'=>4,
'composition'=>"grapes",
'packed'=>"case of 2"
);
希望这有助于每个人。