2017-05-12 6 views
0

私はmagentoを初めて使っています。私は場所の注文ボタンをクリックした後にブロックを追加したい。私はcheckout_onepage_reviewの後にこのブロックを配置したいのですか?これどうやってするの?私はオブザーバーを使ってやろうとしましたが、うまくいきませんでした。事前Magento Checkoutで注文ボタンをクリックした後、1ページレビューの下にブロックを追加するには?

おかげでここに私のObserver.php

class Custom_PaymentModule_Model_Test_Obesrver extends Varien_Event_Observer 
{ 
    public function testObserver($observer) 
    { 
     $layout = $observer->getEvent()->getLayout(); 
     $block = $layout->createBlock('Mage_Core_Block_Template','testing',array('template' => 'paymentmodule/redirect.phtml')); 
     $layout->getBlock('root')->append($block); 
     $observer->renderLayout(); 
    } 
} 

だとここに私のconfig.xmlが

<events> 
     <sales_order_place_after> 
      <observers> 
       <custom_paymentmodule_test_observer> 
        <type>model</type> 
        <class>Custom_PaymentModule_Model_Test_Observer</class> 
        <method>testObserver</method> 
       </custom_paymentmodule_test_observer> 
      </observers> 
     </sales_order_place_after> 
    </events> 

答えて

1

だあなたはsales_order_place_afterイベントにフックしているように見えます。このイベントは発火して発注されます。ただし、注文後、Magentoは別のページにリダイレクトされ、その新しいページは前のページのイベント/アクション/状態にアクセスできません。あなたはこれにブロックを追加するために、そのページのフルアクション名のレイアウトハンドルを見つけるあなたはご注文後

  • に終わるのページを調べ

    • 追加レイアウトハンドル/更新XMLのルールが必要になりますアフターオーダーページ。
  • +0

    ありがとうございます。しかし、私はopcheckout.jsを編集してリダイレクトを止めようとしました。だから基本的に私はまだ場所の注文をクリックした後にチェックアウトページにいます –

    +0

    私はリダイレクトを停止しても、私はブロックを追加することはできません。 –

    関連する問題