1

I want to edit gridview product values using massaction. here i created a column like this.

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


        ));

it is working fine but how can i post these value to massaction? here i wrote action like this

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

        ));

so how can i get column values in massaction.in the action i wrote like this but not working

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

1 に答える 1

0

より簡単な解決策を使用できると思います
.massactionフォーム用の独自のテンプレートを作成し、そこでonclickイベントを変更します(またはsubmitイベント用の独自のリスナーを追加します)。
ここでのアイデアは、独自の JS コード (新しい .phtml 内に含めることができます) を使用して、送信する前にカスタム情報を含む大量入力フォームにいくつかの入力を追加することです。

// これはグリッド内にあります (ここに 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 アクションで選択されたアイテムの配列を受け取る方法です。

于 2013-02-28T14:05:38.913 に答える