Hola,
he creado un formulario de Breezing Forms siguiendo los pasos del tutorial para el formato Clásico.
He añadido un campo para subir archivos
La configuración es la que trae por defecto:
Me llega el mail del formulario, pero necesitaría que el fichero viniese adjunto, o bien, que en el mail viniese el link habilitado para la descarga, porque lo que me manda como valor para ese campo es
AdjuntarCV: /home/mi_sitio/public_html/components/com_breezingforms/uploads/7865adjunto.txt
¿Cómo tengo que configurar un campo de tipo Subir archivo para conseguir esto?
Muchas gracias,
María
URL del sitio: Contenido solo visible a usuarios registrados
Hola María,
Prueba a copiar el código de Pablo primero en el bloc de notas de windows, y luego en formulario.
Veo que has realizado una prueba de envío en el formulario, he recibido:
Contenido solo visible a usuarios registrados
Saludos
Ya lo hice así desde el inicio,
de hecho tuve que formatearlo...
El código que tengo en el área de mi pieza es el último que adjunté. Ese está cortado y pegado desde mi formulario... Creo que es idéntico, no?
Un saludo,
María
Hola,
Revisando el código que has pegado veo que hay una cosa que está mal, parece que se ha perdido un cambio de línea. Tienes lo siguiente:
//File Uploadif ($this->formrow->emailntf==2)
cuando lo correcto es:
//File Upload if ($this->formrow->emailntf==2)
Realiza el cambio de línea que te indico y haz una nueva prueba.
Hola Pablo,
es cierto... tenía esa errata... Probé de nuevo, pero no me escribe la variable.
Volví a pegar tu código, pero esta vez eliminé todos los comentarios, intros, etc.
Lo que dejé es esto:
global $mailfrom, $fromname, $ff_config, $ff_mospath; $ruta = $ff_config->uploads; $subject = "Formulario de Pedido recibido desde la web"; $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]; $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(); } } if ($this->formrow->emailntf==2) $recipient = $this->formrow->emailadr; else $recipient = $ff_config->emailadr; $this->sendMail($mailfrom,$fromname,$recipient,$body);
Muchas gracias,
María
Hola,
De nuevo veo errores en el código que has dejado. Pones al final del todo:
$this->sendMail($mailfrom,$fromname,$recipient,$body);
cuando debería ser:
$this->sendMail($mailfrom,$fromname,$recipient,$subject,$body);
En principio, tendrías que realizar las pruebas con el código que te pasé inicialmente, asegurándote que se ha pegado como estaba originalmente.
Voy a probarlo... lo mejor sería cortar y pegar tu código, pero se pega todo en línea y a la fuerza tuve que ir separando yo con intros... Te digo en un momento
Gracias
Hola,
Es raro que te lo copie todo en una única línea. Te lo paso en un fichero txt para ver si así lo puedes pegar mejor.
Pablo, he corregido mi código y perfecto.
Muchas gracias por todo y por la pacienia. Con tu código resuelto.
Saludos,
María
Hola,
Ten en cuenta que el código que te he pasado se encarga de enviar el correo con los datos del formulario haciendo la sustitución en los adjuntos, por lo que ahora recibirás el correo de los formularios por duplicado: el generado por este código y el que envía el propio formulario.
Si quieres recibir solo el correo generado por el código vete en la administración de Joomla al formulario y pulsa en el botón Editar Formulario. A continuación, vete a la pestaña Emails Administrador y en el parámetro Notificación por email elige la opción No.
Pablo,
pues mucho más cómodo. Perfecto.
Muchísimas gracias,
María