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

Foi útil?

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
scroll top