在Magento管理产品网格添加类别栏

来源:互联网 发布:外网端口telnet不通 编辑:程序博客网 时间:2024/05/16 05:26

Add a column and filter to catalog product grid which has SEVERAL values


->joinField('category_ids',            'catalog/category_product_index',            'category_id',            'product_id=entity_id',            null,            'left')

which gives me an error:a:5:{i:0;s:72:"Item (Mage_Catalog_Model_Product) with the same id "16243" already exist"

In prepareColumns I'm adding:

$this->addColumn('category_ids',        array(            'header'=> Mage::helper('catalog')->__('Categories'),            'index' => 'category_ids',            'width' => '150px'    ));

How can I fix my query so I won't get the error?Is it possible to show and filter by category names instead of ids?

a forum post show a similar code but I couldn't make it work with categorieshttp://www.magentocommerce.com/boards/viewthread/44534/

static protected $COLUMN_ID_TRADE_REFERENCES = 'ref_text';protected function _prepareCollection(){    $store = $this->_getStore();    $collection = Mage::getModel('catalog/product')->getCollection()        ->addAttributeToSelect('name')        ->addAttributeToSelect('attribute_set_id')        ->addAttributeToSelect('type_id')        ->addAttributeToSelect('ref_text')        ->joinTable('productreferences/reference',            'product_id=entity_id',            array('ref_text'),            null,            'left')        ->joinField('qty',            'cataloginventory/stock_item',            'qty',            'product_id=entity_id',            '{{table}}.stock_id=1',            'left')        ->addStaticField('ref_text')        ->addExpressionAttributeToSelect(self::$COLUMN_ID_TRADE_REFERENCES,            'GROUP_CONCAT(ref_text SEPARATOR " ; ")',            'ref_text')        ->groupByAttribute('entity_id');

Thanks


0 0
原创粉丝点击