2012-03-08 139 views
1

grid filtering and checkboxes复选框在Magento管理网格

过滤我有一些相关的图片(产品类型)的滑盖机型。编辑滑块时,其图像有一个标签。现在可以修改,选择和取消选择包含图像。这,似乎是通过管理员电网做,有一个复选框列(“值”键是用于测试):

$this->addColumn('in_slider', array(
     'header_css_class' => 'a-center', 
     'type'  => 'checkbox', 
     'name'  => 'in_slider', 
     'values' => array(1,2), 
     'align'  => 'center', 
     'index'  => 'slider_image_id' 
    )); 

比方说,滑块在上面的图片有一个图像连接,而作品精细。但是,当用户选择“任何”并点击“搜索”时,全部图像必须显示,但那些不相关的图像应该被取消选择。我认为这是这种功能的标准行为。

我没有得到的是这两个按钮背后的机制:Reset FilterSearch。从我设法挖掘的网格类中有一个getGridUrl()方法用于刷新网格数据(通过AJAX)。该URL映射到控制器。

// in grid class 
public function getGridUrl() 
{ 
    return $this->getUrl('*/*/editGrid', array('_current' => true)); 
} 

// Image controller 
public function editGridAction() 
{ 
    $blockMarkup = $this->getLayout()->createBlock('module/someblock')->toHtml(); 
    $this->getResponse()->setBody($blockMarkup); 
} 

但是“搜索”按钮怎么样?这是如何运作的?

其他模块如何知道何时显示所有实体或搜索“是”或“否”?

保存滑块时,如何抓取选定的值?在滑块控制器的工作saveAction我认为,但你如何获得复选框的值?

回答

0

您要找的是一个质量操作。此功能添加到您的网格文件(无论扩展Mage_Adminhtml_Block_Weidget_Grid):

protected function _prepareMassaction() 
{ 
    $this->setMassactionIdField('some_ID'); 
    $this->getMassactionBlock()->setFormFieldName('element_name'); //html name of checkbox 
    $this->getMassactionBlock()->addItem('some_ID', array(
    'label'=> __('Some Label'), 
    'url' => $this->getUrl('*/*/doSomething'), //an action defined in the controller 
    'selected' => 'selected', 
    'confirm' => __('Are you sure?') 
)); 

    return $this; 
} 

这里有一个很好的博客文章,有助于解释这一概念: http://inchoo.net/ecommerce/magento/how-to-add-massactions-to-magentos-grid/

相关问题