在Magento中过滤网格



我在magento中制作了一个自定义网格,显示保存的视频网址及其工作。但是我只想显示urlid的记录,例如3.这是我的_prepareCollection函数

protected function _prepareCollection()
{
    // Get and set the collection for the grid
    $collection = Mage::getResourceModel('drecomm_productvideo/video_collection');
    //what should i put in here, addFieldtoSelect?
    $this->setCollection($collection);
    return parent::_prepareCollection();
}

我的网格从Mage_Adminhtml_Block_Widget_Grid扩展,该类中没有addFieldToFilter函数。

首先,如果要为集合创建永久筛选器(这意味着无法将其从网格视图中删除),则应对集合对象使用addFieldToFilter。此方法不是grid类的一部分,而是集合类的一部分。

$collection = Mage::getResourceModel('drecomm_productvideo/video_collection')
    ->addFieldToFilter('urlid', 3);

现在,如果您只想为集合添加一个默认过滤器(这意味着它将从一开始就应用,但您将能够重置它并查看所有条目),您应该使用网格块setDefaultFilter()方法。

protected function _construct()
{
    parent::_construct();
    //... your code
    $this->setDefaultFilter(array('urlid' => 3));
}

最新更新