Obtenha o nome do produto na grade
-
13-12-2019 - |
Pergunta
No módulo personalizado, estou salvando o ID do produto em minha tabela e desejo exibir o nome do produto na grade de administração
Estou tentando esse código para ingressar na tabela
$collection->getSelect()
->joinLeft(
array('prod' => 'catalog_product_entity'),
'prod.entity_id = main_table.mageproduct_id',
array('sku')
)
->joinLeft(
array('cpev' => 'catalog_product_entity_varchar'),
'cpev.entity_id=main_table.mageproduct_id ,
array('name' => 'value')
);
Estou recebendo o sku, mas o nome não é exibido como obter o nome
Solução
Usando join, você precisa obter o nome do produto como este
$entityTypeId = Mage::getModel('eav/entity')
->setType('catalog_product')
->getTypeId();
$prodNameAttrId = Mage::getModel('eav/entity_attribute')
->loadByCode($entityTypeId, 'name')
->getAttributeId();
$collection->getSelect()
->joinLeft(
array('prod' => 'catalog_product_entity'),
'prod.entity_id = main_table.mageproduct_id',
array('sku')
)
->joinLeft(
array('cpev' => 'catalog_product_entity_varchar'),
'cpev.entity_id=prod.entity_id AND cpev.attribute_id='.$prodNameAttrId.'',
array('name' => 'value')
);
Isso funcionou para mim, espero que isso ajude você
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange