私が達成したいこと:製品のリンク/画像(少なくとも特定の領域)をクリックして、完全な製品情報(基本的には製品ビューページのすべてのコンテンツ)を含むポップアップを開きます。
私がこれまでにした/試したこと:
- ajax phpコード以外のすべてのものを作成しました(モジュール、リンク、テンプレート、書き換え)
- ajaxコントローラーを作成しました(次のようなリンクでアクセスできます
http://test.com/index.php/ajaxproductview/ajax/index/id/2
)。 - さまざまなチュートリアル(これまたはこれのような)に従うために-それは私がこれまでに到達するのを助けました。ただし、カスタムブロックをロードしたくないので、デフォルトの製品ビューブロックが必要です。
indexAction()にコードを追加しようとしました。そこに到達しますが、コードは失敗します。エラー/通知/レポートは表示されません。プロセッサを強制終了する無限ループのように見えます。
$body = $this ->getLayout() ->createBlock('product.info') // taken from catalog.xml ->toHtml(); $this->getResponse()->setBody($body);
他のすべてのページは正常に機能し、Magnetoとモジュールのみがインストールされてアクティブ化された新しい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