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..
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.
Hola Pablo.
e realizado la prueba y efectivamente, no funciona.
alguna otra idea.
Un saludo..
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.
Hola Jhon.
te adjunto el archivo, el codigo esta en la linea 744
Gracias
Felices fiestas
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
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..
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
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.
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
Hola David.
La verdad, es que no se como hacerlo,
un saludo...
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
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..
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
Hola David.
Ahora si que funciona.
Gracias y Felices Fiestas