我正在尝试编写一个自定义操作来运行我已经构建的管理网格。是否可以通过get或post从网格中的列向控制器发送一个值?Magento管理网格将数据从Action发送到控制器
我试过Google搜索,但我无法在任何地方找到合适的解释。如果可用,则对列设置(“getter”,“类型”等)的解释的链接也是有用的。
我正在尝试编写一个自定义操作来运行我已经构建的管理网格。是否可以通过get或post从网格中的列向控制器发送一个值?Magento管理网格将数据从Action发送到控制器
我试过Google搜索,但我无法在任何地方找到合适的解释。如果可用,则对列设置(“getter”,“类型”等)的解释的链接也是有用的。
将此代码添加到您的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,
));
,将建立与所选行的id的“编辑” URL作为URL的一部分。它看起来像<frontname>/<controllername>/edit/id/<value>
,其中value
由获取者getId()
返回。
getter字段将执行任何标准的Magento魔术获得者,即任何属性都是可以获得的。所以你可以有getName
或getProductUrl
或getIsLeftHanded
如果你想和你的控制器可以解析属性。
控制器就可以检索使用Mage::app()->getRequest()->getParam('attributename');
在文档/教程的术语,其传递的值,有this article读@AlanStorm的网站上,因为它可能会有所帮助。
HTH,
JD
感谢您的帮助,这几乎是所有我需要知道。我没有意识到你可以使用'getter'来挑选任何属性。 – Geoff 2011-04-20 12:27:55
吸气剂对我来说也是新的,但正是我所需要的。 – 2012-10-04 03:26:51
如果我想获得多个getter方法怎么办如果我想在URL中传递多个不能访问的参数,可以使用Mage :: app() - > getRequest() - > getParam('attributename') – shashank 2016-02-02 13:10:19