2015-03-18 3 views
0

Я хочу перенаправить клиента, даже если он не вошел в систему, на моей пользовательской странице, где клиенту необходимо добавить котировку и информацию о продукте. Он переадресовывает эту страницу, когда он нажимает ссылку «Добавить для сравнения» на странице просмотра продукта, и после отправки формы он останется там, как с успешным сообщением.перенаправить клиента на пользовательскую страницу от Indexcontroller

Обратите внимание, что эта вещь должна быть выполнена из функции предварительного депонирования указателя. Спасибо.

+0

Ваш вопрос не понятен вообще. Пожалуйста, опишите, пожалуйста, со скриншотами, если это возможно, чтобы другие могли помочь. – aton1004

+0

Я объясняю это примером. Когда Клиент нажимает «Добавить в лист пожеланий», клиент будет перенаправлен на пользовательскую страницу. Теперь, когда я отлаживаю, вызывается первая функция, называемая «preDispatch». Поэтому отсюда мне нужно отредактировать код таким образом, чтобы мое требование было удовлетворено (клиент, даже он не вошел в систему, перенаправляет на мою собственную страницу phtml). – Krupali

ответ

0

Вам нужно добавить код в config.xml

<frontend> 
    <events> 
     <controller_action_predispatch> 
      <observers> 
       <controller_action_before> 
        <class>dispatcher/observer</class> 
        <method>controllerActionPreDispatch</method> 
       </controller_action_before> 
      </observers> 
     </controller_action_predispatch> 
    </events> 
</frontend> 

Добавьте код в модели/observer.php файл

public function controllerActionPreDispatch($observer) 
{ 
    //we compare action name to see if that's action for which we want to add our own event 
    if($observer->getEvent()->getControllerAction()->getFullActionName() == 'yourmodule Action Name') 
    { 
     Mage::app()->getResponse()->setRedirect(Mage::getUrl("customer/account")); 
    } 
} 
Смежные вопросы