Avisos
Vaciar todo

Imagen en correo registro virtuemart  

 
Antonio Fernández
 Antonio Fernández
Honorable Member

Buenos dias a todos.
¿ Se podria introducir una imagen ( Logo empresa) en el correo que reciben los usuarios que se registran en Virtuemart?
creo que cambiando el texto en el archivo spanish.php y si se pudiera introducir la imagen ( Logo empresa) , el correo quedaria mucho mas personalizado.
Un saludo..

Citar
Respondido : 23/12/2011 11:38 am
Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

Una prueba que podrías hacer sería modificar la constante de idioma que se envía cuando un usuario se registra en la web para incluir código html que cargue la imagen, algo del siguiente tipo:

Tendrías que poner la dirección absoluta a tu web, url incluida.

Es posible que no funcione porque puede que estos mails se envíen solo en modo texto.

ResponderCitar
Respondido : 23/12/2011 12:03 pm

Antonio Fernández
 Antonio Fernández
Honorable Member

Hola Pablo.
e realizado la prueba y efectivamente, no funciona.
alguna otra idea.
Un saludo..

ResponderCitar
Respondido : 23/12/2011 1:13 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola Antonio

En lugar de colocar comillas dobles puedes probar comillas simples, si aún no funciona, puedes adjuntar el archivo de idioma comprimido para ver como insertaste el código.

Saludos.

ResponderCitar
Respondido : 24/12/2011 2:54 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Antonio Fernández
 Antonio Fernández
Honorable Member

Hola Jhon.
te adjunto el archivo, el codigo esta en la linea 744
Gracias
Felices fiestas

ResponderCitar
Respondido : 24/12/2011 3:36 pm
Luis Mendez Alejo
 Luis Mendez Alejo
Miembro Moderator

Hola Antonio,

Es lógico que no funcione, un archivo de idioma (spanish.php) no puede contener ese tipo de etiquetas:

Ese código debe ir en el archivo .php responsable del envío del correo tras el registro del usuario en VirtueMart.

Saludos

Esta publicación ha sido modificada el hace 4 años por antonio
ResponderCitar
Respondido : 24/12/2011 9:53 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Antonio Fernández
 Antonio Fernández
Honorable Member

Hola gnumax.
Cual es el archivo .php responsable del envío del correo tras el registro del usuario en VirtueMart
para poder introducir el codigo.
Un saludo..

ResponderCitar
Respondido : 25/12/2011 5:40 pm
David Noguera
 David Noguera
Miembro Moderator

Hola Antonio,

la función es _sendMail dentro del fichero:

administrator/components/com_virtuemart/classes/ps_shopper.php

Aquí es donde se obtiene el cuerpo del mensaje del email:

if ($mosConfig_useractivation=="1"){
$message = sprintf ($VM_LANG->_('USEND_MSG_ACTIVATE',false), $name, $mosConfig_sitename, $activation_link, $mosConfig_live_site, $username, $pwd);
} else {
$message = sprintf ($VM_LANG->_('PHPSHOP_USER_SEND_REGISTRATION_DETAILS',false), $name, $mosConfig_sitename, $mosConfig_live_site, $username, $pwd);
}

Saludos

ResponderCitar
Respondido : 26/12/2011 9:34 am

Cursos Gratuitos WordPress

Antonio Fernández
 Antonio Fernández
Honorable Member

Hola David.
¿Es en este archivo (ps_shopper.php) , donde tengo que colocar el codigo
para que se pueda ver la imagen( logo empresa)?
gracias.

Esta publicación ha sido modificada el hace 4 años por antonio
ResponderCitar
Respondido : 26/12/2011 9:48 am
David Noguera
 David Noguera
Miembro Moderator

Hola Antonio,

como verás el cuerpo del mensaje se obtiene de la variable :

USEND_MSG_ACTIVATE o PHPSHOP_USER_SEND_REGISTRATION_DETAILS dependiendo de si está habilitada la activación de cuenta o no.

Has de buscar esa variable dentro de los ficheros spanish.php de tu VirtueMart y modificar esa variable..

Avísanos si no entiendes como hacer esto..

Saludos

ResponderCitar
Respondido : 26/12/2011 10:17 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Antonio Fernández
 Antonio Fernández
Honorable Member

Hola David.
La verdad, es que no se como hacerlo,
un saludo...

ResponderCitar
Respondido : 26/12/2011 10:57 am
David Noguera
 David Noguera
Miembro Moderator

Hola Antonio,

verás que en el directorio components/com_virtuemart/languajes/xx (cambia xx por el nombre de cualquiera de los directorios que aparecen) hay ficheros con nombre spanish.php. Tendrás que acceder y modificar estos ficheros y buscar la variable USEND_MSG_ACTIVATE o PHPSHOP_USER_SEND_REGISTRATION_DETAILS. En estas variables aparece el texto que se envía por mail... tienes que modificarlo ahí..

Saludos

ResponderCitar
Respondido : 26/12/2011 11:08 am

Antonio Fernández
 Antonio Fernández
Honorable Member

Hola David.
mi idea no era modificar el texto del correo, mi idea era poner la imagen del logo de la empresa para que quedara mas personalizado.
ya se que para modificar el texto tengo que acceder al archivo de idiomas spanish.php, ¿pero para poder introducir la imagen del logo de la empresa?
gracias..

ResponderCitar
Respondido : 26/12/2011 12:09 pm
David Noguera
 David Noguera
Miembro Moderator

Hola Antonio,

te cuento, habría que modificar ligeramente el fichero ps_shopper.php, en concreto la función _sendMail.

Verás que hay un momento que dentro de esa funión aparece este código:

 if( VM_REGISTRATION_TYPE != 'NO_REGISTRATION' || (VM_REGISTRATION_TYPE == 'OPTIONAL_REGISTRATION' && !empty($d['register_account']))) {
                        vmMail($adminEmail2, $adminName2, $email, $subject, $message);
                }

La función vmMail es la que envía el mail y es del core de VirtueMart, puedes verla documentada aquí:

http://virtuemart.net/documentation/phpxref/nav.html?_functions/index.html

Te pego la info aquí:

vmMail($from, $fromname, $recipient, $subject, $body, $Altbody, $mode=false, $cc=NULL, $bcc=NULL, $images=null, $attachment=null )   X-Ref
Mail function (uses phpMailer)

param: string From e-mail address
param: string From name
param: string/array Recipient e-mail address(es)
param: string E-mail subject
param: string Message body
param: boolean false = plain text, true = HTML
param: string/array CC e-mail address(es)
param: string/array BCC e-mail address(es)
param: array Images path,cid,name,filename,encoding,mimetype
param: string/array Attachment file name(s)
return: boolean Mail send success

Por tanto haz la prueba de cambiar este código por este:

 if( VM_REGISTRATION_TYPE != 'NO_REGISTRATION' || (VM_REGISTRATION_TYPE == 'OPTIONAL_REGISTRATION' && !empty($d['register_account']))) {
                        vmMail($adminEmail2, $adminName2, $email, $subject, $message,null, 1);
                }

Haz antes una copia de seguridad del fichero por si falla algo poder dejarlo como estaba rápidamente..

Después, en la variable que te comentaba antes del fichero spanish.php, añade el código

Que antes no te funcionaba por que el mail se enviaba en formato texto, pero ahora debería enviarse en formato HTML..

Ya nos dices..

Saludos

Esta publicación ha sido modificada el hace 4 años por antonio
ResponderCitar
Respondido : 26/12/2011 12:44 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Antonio Fernández
 Antonio Fernández
Honorable Member

Hola David.
Ahora si que funciona.
Gracias y Felices Fiestas

ResponderCitar
Respondido : 26/12/2011 1:16 pm