Magento定制模块 - 节省产品

时间:2012-12-04 12:08:57

标签: magento magento-1.7

这对我来说已经挑战了几天了,而且我对寻求帮助/解决方案感到非常沮丧 - 所以可靠的StackOverflow就是这样!

我在Magento 1.7中创建了一个带有自定义数据库的自定义模块(包含一些标题,内容等内容),基本上是一个自定义静态块。我已经实现了可用的产品选择器here

虽然 - 这只是选择实际产品 - 没有保存功能!

我非常坚持如何保存选定的magento产品 - 正确/最佳方式是什么?

为了简单起见,我认为要么用逗号分隔ID / SKU,要么我应该创建一个新的实体类型?关于后者的任何知识/指导都将非常有用 - 特别是保存新实体类型的产品。

保存产品的代码会放在<Module>/controllers/Adminhtml/<Module>Controller.php -> saveAction()还是其他地方?

1 个答案:

答案 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('*/*/');
}

了解更多@ Custom Module with Custom Database Table