Ajax in magento (wczytaj blok widoku produktu)
Co chcę osiągnąć: Kliknięcie łącza / obrazu produktu (przynajmniej w niektórych obszarach), aby otworzyć wyskakujące okienko z pełną informacją o produkcie (zasadniczo cała zawartość strony widoku produktu).
Co dotychczas robiłem / próbowałem:
stworzył wszystkie rzeczy poza kodem ajax php (moduł, linki, szablony, przepisywanie)utworzył kontroler ajax (do którego można uzyskać dostęp za pomocą łącza podobnego do:http://test.com/index.php/ajaxproductview/ajax/index/id/2
).śledzić różne samouczki (npto lubto ) - to pomogło mi zajść tak daleko. Ale nie chcę ładować mojego niestandardowego bloku, chcę mieć domyślny blok (i) widoku produktu.próbował dodać kod w indexAction (). Dostaje się tam, ale kod nie działa. Nie dostaję żadnych błędów / powiadomień / raportów, tylko to, co wygląda na nieskończoną pętlę, która zabija mój procesor.
$body = $this
->getLayout()
->createBlock('product.info') // taken from catalog.xml
->toHtml();
$this->getResponse()->setBody($body);
Wszystkie pozostałe strony działają dobrze i jest to świeże magento z tylko magneto i moim modułem zainstalowanym i aktywowanym.
Moja funkcja AJAX po prostu otrzymuje tę odpowiedź HTML, umieszcza ją w div i otwiera wyskakujące okienko.
Moje pytania są (są) - jak mogę ustawić identyfikator produktu, aby blok wiedział, jaki produkt załadować i jak mogę poprawnie załadować ten blok. Próbowałem też czegoś podobnego:
Dziękuję Ci.
PS: Próbowałem również tego:
$layout = $this->getLayout();
$update = $layout->getUpdate();
$update->load('catalog_product_view');
$layout->generateXml();
$layout->generateBlocks();
$output = $layout->getOutput(); // $output is an empty string