这对我来说已经挑战了几天了,而且我对寻求帮助/解决方案感到非常沮丧 - 所以可靠的StackOverflow就是这样!
我在Magento 1.7中创建了一个带有自定义数据库的自定义模块(包含一些标题,内容等内容),基本上是一个自定义静态块。我已经实现了可用的产品选择器here。
虽然 - 这只是选择实际产品 - 没有保存功能!
我非常坚持如何保存选定的magento产品 - 正确/最佳方式是什么?
为了简单起见,我认为要么用逗号分隔ID / SKU,要么我应该创建一个新的实体类型?关于后者的任何知识/指导都将非常有用 - 特别是保存新实体类型的产品。
保存产品的代码会放在<Module>/controllers/Adminhtml/<Module>Controller.php -> saveAction()
还是其他地方?
答案 0 :(得分:0)
<Module>/controllers/Adminhtml/<Module>Controller.php
中的
public function saveAction()
{
if ( $this->getRequest()->getPost() ) {
try {
$postData = $this->getRequest()->getPost();
Mage::getModel('productsselector/productsselector')->setId($this->getRequest()->getParam('id'))
->setProductSku($postData['product_sku'])
...
->save();
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Item was successfully saved'));
Mage::getSingleton('adminhtml/session')->setProductsselectorData(false);
$this->_redirect('*/*/');
return;
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
Mage::getSingleton('adminhtml/session')->setLocalshipData($this->getRequest()->getPost());
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
return;
}
}
$this->_redirect('*/*/');
}