Magento的编辑网格列值使用massaction未发布(magento editable gri

2019-08-01 07:03发布

我想用massaction编辑gridview的产品价值。 在这里,我创建了一列这样的。

$this->addColumn('fineness',
            array(
                'header'=> Mage::helper('catalog')->__('% Increase'),
                'width' => '80px',
                'index' => 'fineness',
                'type' => 'input',
                'editable' => 'TRUE',


        ));

它工作正常,但我怎么能发布这些价值massaction? 在这里,我写行动这样

$this->getMassactionBlock()->addItem('update', array(
             'label'=> Mage::helper('catalog')->__('Bulk Update'),
             'url'  => $this->getUrl('*/*/massUpdate'),
             'confirm' => Mage::helper('catalog')->__('Are you sure?'),

        ));

所以,我怎么能得到massaction.in我写了这样的作用,但不能工作列值

public function massUpdateAction()
    {
        $productIds = $this->getRequest()->getParam('product');
        $increase_fineness = $this->getRequest()->getParam('increase_fineness');
        $fineness = $this->getRequest()->getParam('fineness');
        print_r($fineness);die;
}

Answer 1:

我想,你可以用一个简单的解决方案去:
只要创建自己的massaction表单模板,并更改onclick事件出现(或添加自己的侦听提交事件)。
这里的想法是使用自己的JS代码(可以包括新的一个.phtml内),以在提交前与您的自定义信息添加一些输入(S)的massaction形式。

//这将是你的网格内(你可能有这种方法,因为现在你应该在这里添加massaction项目:

protected function _prepareMassaction()
{

        // you can use widget/grid/massaction.phtml as a reference
        $this->getMassactionBlock()->setTemplate('your_custom_template_here.phtml');
                ...

作为一个方面说明,这是(基本上)的massaction形式是如何工作的:
当您选择一个输入复选框,它会创建massaction表单上输入元件,该输入将有你的选择的行,以逗号分隔的ID。
然后Magento的具有观察员(听“adminhtml_controller_action_predispatch_start”)

Mage_Adminhtml_Model_Observer::massactionPrepareKey

将在逗号分隔值转换为数组,这就是你如何接收在massaction行动所选项目的数组。



文章来源: magento editable grid column values not posting using massaction
标签: magento grid