Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将自定义过滤器添加到Magento中的列网格?_Magento_Magento 1.7 - Fatal编程技术网

如何将自定义过滤器添加到Magento中的列网格?

如何将自定义过滤器添加到Magento中的列网格?,magento,magento-1.7,Magento,Magento 1.7,我在Adminhtml中有自定义网格 protectedfunction\u prepareCollection() { /*@var$collection Mage\u Catalog\u Model\u Resource\u Product\u collection*/ $collection=Mage::getModel('catalog/product')->getCollection(); $collection->addAttributeToSelect('*'); $collect

我在Adminhtml中有自定义网格

protectedfunction\u prepareCollection()
{
/*@var$collection Mage\u Catalog\u Model\u Resource\u Product\u collection*/
$collection=Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('*');
$collection->joinField('category\u id','category/category\u product','category\u id','product\u id=entity\u id',null,'left');
$collection->groupByAttribute('entity_id');
$collection->addStaticField('category_id');
$collection->addExpressionAttributeToSelect('category_grp','GROUP_CONCAT(category_id)','category_id');
$this->setCollection($collection);
返回父项::_prepareCollection();
}
受保护函数\u prepareColumns()
{
父项::_prepareColumns();
$this->addColumn('category\u id',数组(
'header'=>Mage::helper('newsletter')->,
“索引”=>“类别”,
“类型”=>“类别”,
“选项”=>$options,
'对齐'=>'左',
//'filter_index'=>this->'getFlatExpressionColumn('category'),
退还$this;
}
类别为带int的数组

我的问题是如何将过滤器添加到标题列中,以从字段中过滤项目


例如,仅过滤类别为7的产品(类别为3,6,7,13).

我认为您不需要任何自定义过滤器。
只需根据字段名设置
索引

'index'     => 'category_id',

我认为您不需要任何自定义过滤器。
只需根据字段名设置
索引

'index'     => 'category_id',

查看magento
过滤器\条件\回调
选项

$this->addColumn('categories', array(
                   ....                      
                   'filter_condition_callback' => array($this, '_applyMyFilter'),
                    ..
                 )
 );

 protected function _filterCategoriesCondition($collection, $column)
 {
     if (!$value = $column->getFilter()->getValue()) {
         return;
     }

     $this->getCollection()->addFieldToFilter('categories', array('finset' => $value));
 }


查看magento
过滤条件回调
选项

$this->addColumn('categories', array(
                   ....                      
                   'filter_condition_callback' => array($this, '_applyMyFilter'),
                    ..
                 )
 );

 protected function _filterCategoriesCondition($collection, $column)
 {
     if (!$value = $column->getFilter()->getValue()) {
         return;
     }

     $this->getCollection()->addFieldToFilter('categories', array('finset' => $value));
 }


实际上,我对学习如何创建自定义过滤器(如果可能)感兴趣。如果您发现任何东西,请共享信息。实际上,我对学习如何创建自定义过滤器(如果可能)感兴趣请分享信息如果你找到任何东西nnnn,如果我使用'index'=>'category\u id',那么我只有一个类别。产品在多个类别中…例如3,7,13…nnnn,如果我使用'index'=>'category\u id',那么我只有一个类别。产品在多个类别中…例如3,7,13。。。