Magento 1.9 redirecciona al cliente después del registro
magento-1.9 (3)
Lo está haciendo de la manera correcta, esta es la mejor manera de redirigir al cliente a una URL personalizada.
- Vaya a accountcontroller del cliente y encuentre el método _welcomeCustomer.
- Busque
$successUrl = $this->_getUrl(''*/*/index'', array(''_secure'' => true));
reemplace este código con su URL personalizada$successUrl = $this->_getUrl(''costomURL'', array(''_secure'' => true));
Funciona bien para mí.
Me gustaría redirigir a todos los clientes a una página personalizada después de un registro exitoso en Magento 1.9.
He intentado muchas cosas. En primer lugar, estoy anulando con éxito el controlador de la cuenta principal del cliente.
Intenté personalizar las siguientes acciones:
- createPostAction
- _successProcessRegistration
- _welcomeCustomer
Intentando configurar la url de redirección o configurando BeforeAuthUrl
//$successUrl = $this->_getUrl(''*/*/index'', array(''_secure'' => true));
$successUrl = $this->_getUrl(''*/*/success'');
$this->_getSession()->setBeforeAuthUrl(''http://test.local/customer/account/success/'');
if ($this->_getSession()->getBeforeAuthUrl()) {
$successUrl = $this->_getSession()->getBeforeAuthUrl(true);
}
return $successUrl;
Tenga en cuenta que en este punto, $ successUrl es correcto cuando vuelve aquí. Veo que hay algunos métodos de envío postal que supongo que están desechando esta url y siempre volviendo a cliente / cuenta / índice.
He leído varias publicaciones sobre este tema y no puedo encontrar una respuesta definitiva que resuelva esta pregunta.
Incluso he establecido el elemento de formulario oculto ''success_url'' en los intentos de seguir los pasos presentados en otros lugares como soluciones a esto.
¿Cuál es el proceso completo y correcto que uno debe seguir para poder mostrar una página de éxito de registro único?
si desea hacer this for customer successfully then you can do this using
observador de eventos
después de que el cliente successfully magento trigger
un evento customer_register_success
Este llama a un observador que solicitará la reelección a la página principal
Mage::app()->getResponse()->setRedirct($Yourdreicurll);
Detalles:
Paso 1: crear config.xml
es app/code/community/Amit/Custommodule/etc/
- Ver más en: http://www.amitbera.com/create-an-magento-extension-with-custom-database-table/ # sthash.JSktrUD0.dpuf y su código
<?xml version="1.0" ?>
<config>
<modules>
<Amit_Custommodule>
<version>1.0.0</version>
</Amit_Custommodule>
</modules>
<global>
<models>
<custommodule>
<class>Amit_Custommodule_Model</class>
</custommodule>
</models>
</global>
<frontend>
<events>
<customer_register_success>
<observers>
<notify_user>
<class>custommodule/observer</class>
<method>myredirection</method>
</notify_user>
</observers>
</customer_register_success>
</events>
</frontend>
</config>
Paso 2:
crear el archivo de control del módulo Nombre del módulo como Amit_Custommodule.xml en la aplicación / etc / modules /
es codigo
<?xml version="1.0"?>
<config>
<modules>
<Amit_Custommodule>
<codePool>community</codePool>
<active>true</active>
</Amit_Custommodule>
</modules>
</config>
Paso 3:
Crea observer.php en Amit> Custommodule> Model
el código es
<?php
class Amit_Custommodule_Model_Observer {
public function myredirection(Varien_Event_Observer $observer) {
$AccountController = $observer->getEvent()->getAccountController();
$Customer = $observer->getEvent()->getCustomer();
$response1 = Mage::app()->getResponse(); // observers have event args
$url = ''http://www.example.com/'';
$response1->setRedirect($url);
Mage::app()->getFrontController()->sendResponse();
return;
}
}
Sé que este es un hilo viejo, tal vez esto ayudará a alguien más a tratar de lograr lo mismo. Puede configurar la URL de redireccionamiento en la plantilla register.phtml directamente sin tener que modificar controladores o crear un módulo. Puede establecer URL de error y de error con entradas ocultas como esta.
<input type="hidden" name="success_url" value="my-custom-success-url.html" />
<input type="hidden" name="error_url" value="my-custom-error-url.html" />
Usé esto para redirigir al usuario de vuelta al lugar donde ingresaron al proceso de inicio de sesión / registro de esta manera:
<?php $ref = $this->getRequest()->getParam(''referer'');?>
<input type="hidden" name="success_url" value="<?php echo !empty($ref)?Mage::helper(''core'')->urlDecode($ref):$this->getSuccessUrl(); ?>" />