我正在尝试编写一个自定义操作来运行我已构建的管理网格。是否可以通过get或post?
将网格中的列发送给控制器我试过谷歌搜索,但我无法在任何地方找到适当的解释。如果可用的话,链接到列设置的解释('getter','type'等)也很有用。
答案 0 :(得分:10)
将此代码添加到Grid.php:
$this->addColumn('action',
array(
'header' => Mage::helper('yourmodulename')->__('Action'),
'width' => '100',
'type' => 'action',
'getter' => 'getId',
'actions' => array(
array(
'caption' => Mage::helper('yourmodulename')->__('Edit'),
'url' => array('base'=> '*/*/edit'),
'field' => 'id'
)
),
'filter' => false,
'sortable' => false,
'index' => 'stores',
'is_system' => true,
));
这将构建一个“编辑”URL,其中所选行的Id作为URL的一部分。它看起来像<frontname>/<controllername>/edit/id/<value>
,其中get value
返回getId()
。
getter字段将执行任何标准的Magento魔法getter,即任何属性都是gettable。因此,如果您需要,您可以拥有getName
或getProductUrl
或getIsLeftHanded
,并且您的控制器可以解析该属性。
然后,控制器可以使用Mage::app()->getRequest()->getParam('attributename');
在文档/教程方面,请阅读@AlanStorm网站上的this article,因为它可能有所帮助。
HTH,
JD