I'm trying to change the layout of the success page with an observer at
Mage::dispatchEvent('checkout_onepage_controller_success_action', array('order_ids' => array($lastOrderId)));
This event is loaded after
$this->loadLayout(); and before
$update = Mage::app()->getLayout()->getUpdate(); $update->addHandle('my_personalized_handle'); $update->removeHandle('the_old_hanle');
Up to that point it works fine and on the controller I got the correct list of handles before the render. But at the render process it just ignores all what I changed even if I do
$this->loadLayoutUpdates(); directly in the controller.
So at this point I'm a bit confused.
-== EDIT ==-
The other solution would be to redirect to another page than the success page, that would be to send a correct URL to
$redirectUrl = $this->getOnepage()->getCheckout()->getRedirectUrl();, I'm able to change the session when they land on the checkout page, but when they validate the payment the getRedirectUrl is empty and doesn't consider my new URL.
Do I set this problem as a second post?