Redirección del enl...
 
Avisos
Vaciar todo

Redirección del enlance del mail de confirmación

10 Respuestas
4 Usuarios
0 Reactions
3,220 Visitas
 NoiK
(@noik)
Respuestas: 79
Estimable Member
Topic starter
 

Buenas,

No queremos que aparezca la página donde el usuario puede gestionar su cuenta. Para eso hemos quitado los links, y la redirección del login la he cambiado mediante un plugin, que te redirecciona al home. Sin embargo, aún nos queda un link que modificar, y es que cuando te registras el link de confirmación de la cuenta te lleva justamente a la página de "mi cuenta". Como puedo cambiar eso?

Gracias y saludos.


Versión: 1.4.2.0

 
Respondido : 31/10/2010 1:14 pm
OSdave
(@osdave)
Respuestas: 2099
Noble Member
 

¿que version de magento usas? indicalo en tu firma. gracias.
sera cambiar el redirect de confirmAction del controller AccountController, ¿no?


Indicanos la versión que usas en tu firma (en la cabecera, Acciones del Foro -> Editar Perfil -> Editar Firma)
No toques los ficheros del core, tienes que crear modulos para modificarlo

Algunas cosas que hay que saber sobre Magento, y el comercio online

 
Respondido : 31/10/2010 5:55 pm
 NoiK
(@noik)
Respuestas: 79
Estimable Member
Topic starter
 

Uso la 1.3.

OSdave, he abierto el archivo app/code/core/Mage/Customer/controllers/AccountController.php y he visto lo que creo que hay que tocar, se trata de la línea 394:

$successUrl = $this->_welcomeCustomer($customer, true);

Lo que no sé es como modificarlo, debo cambiar $customer por $home o "/" ?

Me he equivocado de línea? Miré justo donde pone: /*** Confirm customer account by id and confirmation key */


Versión: 1.4.2.0

 
Respondido : 04/11/2010 6:02 pm
OSdave
(@osdave)
Respuestas: 2099
Noble Member
 

no debes tocar los ficheros del core, tienes que crear un modulo que sobre-escriba la parte que quieres modificar.
Y lo que tendras que cambiar es el valor de $succesUrl del metodo _welcomeCustomer()


Indicanos la versión que usas en tu firma (en la cabecera, Acciones del Foro -> Editar Perfil -> Editar Firma)
No toques los ficheros del core, tienes que crear modulos para modificarlo

Algunas cosas que hay que saber sobre Magento, y el comercio online

 
Respondido : 05/11/2010 1:55 pm
 NoiK
(@noik)
Respuestas: 79
Estimable Member
Topic starter
 

Eso no lo he hecho nunca aún, a ver si he entendido, debo crear un módulo tal y como se explica aquí por ejemplo y reescribir la clase ahí? Es decir, en el phtml del módulo que cree, heredo la clase que usa el metodo _welcomeCustomer() y lo cambio allí?


Versión: 1.4.2.0

 
Respondido : 09/11/2010 11:57 am
OSdave
(@osdave)
Respuestas: 2099
Noble Member
 

alli no explica como sobre escribir una class del core, pero la idea básica es esa.
el phtml no hereda nada, no es una clase php
tienes que sobre escribir el controlador y modificar el metodo _welcomUser


Indicanos la versión que usas en tu firma (en la cabecera, Acciones del Foro -> Editar Perfil -> Editar Firma)
No toques los ficheros del core, tienes que crear modulos para modificarlo

Algunas cosas que hay que saber sobre Magento, y el comercio online

 
Respondido : 09/11/2010 1:58 pm
Xarlie
(@xarlie)
Respuestas: 2664
Famed Member
 

Para sobreescribir un controlador:
http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/how_to_overload_a_controller


Soporte profesional para Magento: www.estatiko.com

 
Respondido : 10/11/2010 10:26 am
davidselo
(@davidselo)
Respuestas: 207
Reputable Member
 

Buenas, estoy intentando ahora mismo realizar esto, no se como hacerlo. en el método _welcomeCustomer() quiero redireccionar a una página del CMS, y tiene que entrar logueado también, esto como lo podría hacer?
he modificado y he puesto lo siguiente pero no me funciona correctamente


protected function _welcomeCustomer(Mage_Customer_Model_Customer $customer, $isJustConfirmed = false)
{
//$this->_getSession()->addSuccess($this->__('Thank you for registering with %s.', Mage::app()->getStore()->getFrontendName()));

$customer->sendNewAccountEmail($isJustConfirmed ? 'confirmed' : 'registered');

//$successUrl = Mage::getUrl('*/*/index', array('_secure'=>true));
$successUrl = Mage::getUrl('././confirmacion', array('_secure'=>true));


/*Descomentar luego*/
if ($this->_getSession()->getBeforeAuthUrl()) {
/*Aquí como hago que entre logueado???????*/
$successUrl = $this->_getSession()->getBeforeAuthUrl(true);
}
/*descomentar luego*/
return $successUrl;
}

que hace concretamente el método getBeforeAuthUrl(true);????


Magento 1.5.1.0(Producción) y Magento 1.5.1.0(Desarrollo)
Mi blog

 
Respondido : 07/03/2011 12:06 pm
OSdave
(@osdave)
Respuestas: 2099
Noble Member
 

defines $successUrl como:

$successUrl = Mage::getUrl('nombre_que_has_dado_a_tu_pagina_en_el_cms');

Indicanos la versión que usas en tu firma (en la cabecera, Acciones del Foro -> Editar Perfil -> Editar Firma)
No toques los ficheros del core, tienes que crear modulos para modificarlo

Algunas cosas que hay que saber sobre Magento, y el comercio online

 
Respondido : 07/03/2011 2:02 pm
davidselo
(@davidselo)
Respuestas: 207
Reputable Member
 

Buenas, ya lo he hecho y me funciona, pero para ello he tenido que modificar esto en el método confirm, me gustaría saber si realizando esta modificación tengo algún tipo de problema
Esto:


$this->_redirectSuccess($backUrl ? $backUrl : $successUrl);

por:


$this->_redirectSuccess($successUrl);

no se para que tipo de información lleva backUrl.
¿¿puede que luego me aparezcan errores??


Magento 1.5.1.0(Producción) y Magento 1.5.1.0(Desarrollo)
Mi blog

 
Respondido : 07/03/2011 3:05 pm