Avisos
Vaciar todo

Formulario con fichero adjunto y especificando email  

 
Antonio
 Antonio
Usuario eminente

Hola

Hace unos meses pregunté cómo podia añadir ficheros adjuntos en un formulario de Breezing Forms. Lo conseguí gracias a esta respuesta (en azul):

Para conseguir que en el mail que se recibe de los formularios de BreezingForms con archivos adjuntos llegue un enlace con la ruta del archivo adjunto debes ir en la administración de Joomla al formulario en cuestión. A continuación, pulsa en el botón Editar Formulario de la parte superior derecha y vete a la pestaña Enviar Piezas. Dentro del apartado Final del Submit elige la opción Personalizado y debajo introduce el siguiente código:

// declare globals used in this piece
global $mailfrom, $fromname, $ff_config, $ff_mospath;

$ruta = $ff_config->uploads;

// create the subject string
$subject = "Formulario de Pedido recibido desde la web";

// create the message
$body = "Formulario: " . $this->formrow->title.nl().nl();
$body .= "Fecha de envío: " . $this->submitted.nl().nl();
if (count($this->maildata)) foreach ($this->maildata as $data) {
if ($data[_FF_DATA_TYPE] == 'File Upload') {
$adjunto = $data[_FF_DATA_VALUE];
//Para que funcione el link cuando hay espacios
$adjunto = str_replace(" ","%20",$adjunto);

$body .= "Fichero adjunto: ".JURI::base()."components/com_breezingforms/uploads".str_replace(JPATH_SITE."/components/com_breezingforms/uploads", "", $adjunto).nl();
} else {
$body .= $data[_FF_DATA_TITLE].": ".$data[_FF_DATA_VALUE].nl();
}
}

//File Upload
if ($this->formrow->emailntf==2)
$recipient = $this->formrow->emailadr;
else
$recipient = $ff_config->emailadr;

// send the mail
$this->sendMail(
$mailfrom, // email addr of submitter (1)
$fromname, // name of submitter (1)
$recipient, // email of recipient (2) (use array for multiple addresses)
$subject, // subject of the mail (3)
$body // body of the mail (3));
);

Este código construirá un mail del formulario donde los adjuntos llegarán como enlaces. Al hacer esto recibirías el mail del formulario por duplicado, por lo que si lo quieres solo una vez tendrás que ir en Editar Formulario a la pestaña Admin Emails y en el parámetro Notificación por email selecciona la opción No.

El problema que tengo ahora es que el formulario me lo manda a el correo que tengo por defecto en Breezing Form. Necesito poder especificar en el código de arriba el correo al que quiero mandar ya que no puedo modificar el correo por defecto de Breezing porque lo usan otros formularios.

Muchas gracias de antemano.

URL del sitio: http://www.hogardiscusal.com

Citar
Respondido : 17/02/2012 7:20 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola Antonio

Según el código, intenta colocar un email diferente en lugar de la variable $recipient en la función de envío $this->sendMail

Saludos.

ResponderCitar
Respondido : 18/02/2012 3:41 pm

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