For your custom module if you want to join your custom table data with Magento default product collection then you need to join tables with the entiry_id of the product and your product_id stored in your custom table. Here I have just used the resource model collection to join the table. I tried with getmodel feature of Magento don’t know why it doesn’t able to create the Product grid in the backend. So I used resource model and it worked. If you are only joining the table, not to generate the Product grid, then you can use getmodel instead of resource model.
$collection = Mage::getResourceModel(‘catalog/product_collection’)
->addAttributeToSelect(‘name’)
->addAttributeToSelect(‘sku’)
->addAttributeToSelect(‘price’)
->addAttributeToSelect(‘status’)
->addAttributeToSelect(‘visibility’)
->addAttributeToFilter(‘type_id’, array(‘eq’ => ‘simple’))
->addFieldToFilter(‘status’, Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
->addAttributeToFilter(‘visibility’, array(‘neq’ => 1));
$collection->getSelect()->join(array(‘mep’ => “mage_brand_product”), “e.entity_id = mep.product_id”, array(‘mep.*’));
$collection = Mage::getResourceModel(‘catalog/product_collection’)
->addAttributeToSelect(‘name’)
->addAttributeToSelect(‘sku’)
->addAttributeToSelect(‘price’)
->addAttributeToSelect(‘status’)
->addAttributeToSelect(‘visibility’)
->addAttributeToFilter(‘type_id’, array(‘eq’ => ‘simple’))
->addFieldToFilter(‘status’, Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
->addAttributeToFilter(‘visibility’, array(‘neq’ => 1));
$collection->getSelect()->join(array(‘mep’ => “mage_brand_product”), “e.entity_id = mep.product_id”, array(‘mep.*’));
No comments:
Post a Comment