Ajax no magento (carregar o bloco de visão do produto)
O que eu quero alcançar: Clicar em um link / imagem do produto (pelo menos em algumas áreas) para abrir um pop-up com todas as informações do produto (basicamente todo o conteúdo da página de exibição do produto).
O que eu fiz / tentei até agora:
criou todas as coisas fora do código php ajax (o módulo, links, templates, reescreve)criou o controlador ajax (que pode ser acessado com um link semelhante a:http://test.com/index.php/ajaxproductview/ajax/index/id/2
).seguir vários tutoriais (comoisto ouisto ) - isso me ajudou a chegar até aqui. Mas eu não quero carregar meu bloco personalizado, eu quero o (s) bloco (s) de visualização padrão do produto.tentou adicionar algum código no indexAction (). Chega lá, mas o código falha. Eu não recebo erros / avisos / relatórios, apenas o que parece ser um loop infinito que mata o meu processador.
$body = $this
->getLayout()
->createBlock('product.info') // taken from catalog.xml
->toHtml();
$this->getResponse()->setBody($body);
Todas as outras páginas funcionam bem, e é um novo magento com apenas magneto e meu módulo instalado e ativado.
Minha função AJAX simplesmente obtém essa resposta HTML, coloca-a em um div e abre um pop-up.
Minha (s) pergunta (s) é (são) - como eu posso definir o id do produto, então o bloco sabe qual produto carregar, e como eu posso carregar este bloco corretamente. Eu também tentei algo parecido com isso:
Obrigado.
PS: Eu também tentei isso:
$layout = $this->getLayout();
$update = $layout->getUpdate();
$update->load('catalog_product_view');
$layout->generateXml();
$layout->generateBlocks();
$output = $layout->getOutput(); // $output is an empty string