Pergunta

Eu estou olhando para obter links para os produtos na página Meus Pedidos.

A implementação é para adicionar o comentário para o produto no link "Página Meus Pedidos".

Eu tenho o seguinte código para obter o URL do produto utilizando o SKU.

    <?php 
       $sku = $this->htmlEscape(Mage::helper('core/string')->splitInjection($this->getSku())); 
        $url = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku)->getProductUrl();
    ?>
    <td class="a-right"><a href="<?php echo $url; ?>/#add-my-review" target="_blank" class="rate-me"><?php echo $this->htmlEscape('Rate this Item') ?></a></td>

Mas eu estou recebendo o seguinte erro

PHP Fatal ErrorGET /sales/order/view/order_id/20494
Call to a member function getProductUrl() on a non-object

Quaisquer pensamentos sobre a fixação isso?

Foi útil?

Solução

Usando o SKU parece ser um longo caminho de fazer as coisas, e potencialmente não confiáveis desde um item da ordem do SKU pode ser gerado dinamicamente.Você deve ser capaz de obter uma URL mais diretamente.

$url = $this->getOrderItem()->getProduct()->getProductUrl();

Outras dicas

Parece que você não recebi o produto objeto usando Mage::getModel('catalog/product')->loadByAttribute('sku',$sku)

Você pode verificar o seu $sku valor ??Por favor verifique que valor você está se metendo $sku e verificar, em seu magento painel de controle que você tem o produto, com sku valor.Este pode ser o motivo de que o seu código não está a devolver o objeto do produto que você deseja aqui para obter o url do produto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top