我想要實現的內容: 點擊產品鏈接/圖像(至少在特定區域)打開彈出窗口,其中包含完整的產品信息(基本上包含所有內容產品查看頁面)。magento中的Ajax(加載產品視圖塊)
我做什麼/到目前爲止已經試過:
- 創造了所有的東西AJAX的PHP代碼之外(模塊,鏈接,模板,改寫)
- 創建Ajax控制器(可以用訪問類似於:
http://test.com/index.php/ajaxproductview/ajax/index/id/2
)的鏈接。 - 按照各種教程(如this或this) - 這幫助我得到這一點。但我不想加載我的自定義塊,我想要默認的產品視圖塊。
試圖在indexAction()中添加一些代碼。它到達那裏,但代碼失敗。我沒有收到任何錯誤/通知/報告,就像是殺死我的處理器的無限循環。
$body = $this ->getLayout() ->createBlock('product.info') // taken from catalog.xml ->toHtml(); $this->getResponse()->setBody($body);
所有其他網頁正常工作,這是一個新鮮的Magento只有磁和安裝並激活了我的模塊。
我的AJAX函數只是獲取此HTML響應,將其放入div中,並打開一個彈出窗口。
我的問題是 - 如何設置產品ID,以便塊知道要加載的產品,以及如何正確加載此塊。我也試過類似的東西:
謝謝。
PS:我也試過這樣:
$layout = $this->getLayout();
$update = $layout->getUpdate();
$update->load('catalog_product_view');
$layout->generateXml();
$layout->generateBlocks();
$output = $layout->getOutput(); // $output is an empty string
好吧,所以基本上我需要添加這些塊爲好,基本上覆制在XML結構化控制器,正確嗎? –
@ VladPreda是的,正確的。最簡單的方法是在模塊中添加自己的xml佈局文件。然後將塊添加到特定的操作句柄中,如「 ... yourmodule_index_index>」。我會就此更新我的問題。 –
mpaepper
@ VladPreda在此詳細闡述。 – mpaepper