Yii Framework Forum: Como mandar un mensaje al Guardar. - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Como mandar un mensaje al Guardar. Rate Topic: ***** 1 Votes

#1 User is offline   shaolin 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 130
  • Joined: 29-January 11
  • Location:Zacatecas, México

Posted 07 April 2011 - 01:30 PM

Hola espero que se encuentren bien, volviendo aquí al foro con una duda nueva, alguien me podría decir ojala me puedan ayudar, en como enviar un mensaje después de guardar, para cuando el usuario guarde, le aparezca un mensaje de Registro dado de alta exitosamente o "X" texto.

Le intente indicando un alert de javascript dentro de actionCreate y me marca un error en la cabecera lo indique de esta manera dentro de ese método.

if(isset($_POST['Etapa']))
		{
			$model->attributes=$_POST['Etapa'];
			if($model->save())
                        {
				echo "<script>alert('Registro almecenado correctamente')</script>";
                                $this->redirect(array('view','id'=>$model->id_etapa));
                        }
		}


Si se fijan pongo un echo y luego la instrucción de javascript para mandar un mensaje el registro si es almacenado, pero... al regresar a la pantalla de view me marca un error en la cabecera: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sspcp\protected\controllers\DocumentoController.php:85)
Ese error es el que me muestra pero no se mueve de Documentos/create pero si checo mi registro si yo le pongo desde el navegador en la parte donde tengo mi grid que en mi caso esta en index el registro si aparece almacenado, ojala me puedan ayudar para saber como puedo mandar un mensaje. Saludos....
0

#2 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 536
  • Joined: 11-August 09
  • Location:Argentina

Posted 07 April 2011 - 01:38 PM

puedes usar flash

en el controlador
      Yii::app()->user->setFlash('success',"Datos grabados correctamente!");



en la vista


<?php if(Yii::app()->user->hasFlash('success')):?>
    <div class="grabado_ok">
        <?php echo Yii::app()->user->getFlash('success'); ?>
    </div>
<?php endif; ?>


supongo que puedes poner el alert en lugar del mensaje
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
0

#3 User is offline   Jack Fiallos 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 256
  • Joined: 15-October 09
  • Location:Mexico

Posted 07 April 2011 - 02:17 PM

Como dice Horacio.. y claramente explicado aqui

http://www.yiiframew...flash-messages/
Celestic Dev Team
Yii Open Source Project Manager
1

#4 User is offline   shaolin 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 130
  • Joined: 29-January 11
  • Location:Zacatecas, México

Posted 07 April 2011 - 05:05 PM

Sale gracias dejenme leo el link que me dejaste Jack y probare la manera que Horacio me recomienda hacerlo, les comentare sobre lo mismo...
0

#5 User is offline   shaolin 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 130
  • Joined: 29-January 11
  • Location:Zacatecas, México

Posted 07 April 2011 - 05:16 PM

Utilice el código que me comentaron pero lo que necesito es que me abra una ventanita como tipo pop up donde este el mensaje, mas en especifico como la ventana que aparece cuando se le da clic en eliminar pero claro sin que tenga confirmación por el usuario, en si una ventana emergente como esa donde yo ponga el texto "Registro Almacenado".
Ya que de la otra forma usando el getFlash solo me aparece el texto pero un texto estatico sobre el diseño, espero me puedan ayudar se los agradeceria. Saludos....

Attached File(s)


0

#6 User is offline   Jack Fiallos 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 256
  • Joined: 15-October 09
  • Location:Mexico

Posted 07 April 2011 - 06:15 PM

Entonces te refieres a que no quieres que la pagina haga refresh ?? algo como una petición ajax entonces ??
Celestic Dev Team
Yii Open Source Project Manager
0

#7 User is offline   shaolin 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 130
  • Joined: 29-January 11
  • Location:Zacatecas, México

Posted 08 April 2011 - 09:02 AM

Lo que me refiero es que cuando yo guarde me arroje una ventana emergente que diga "X" texto yo presione aceptar y me envie a view para que el usuario vea sus datos almacenados, como les comento eso yo lo hacia con un alert de javascript ponia el mensaje antes de guardar y lo mostraba cuando el usuario presionaba aceptar el proceso seguia insertaba en la tabla y mostraba los datos al usuario, esto lo he hecho con el fin de que hay usuarios que si les ponemos mensajes estaticos en la pantalla, osease un texto normal dentro del diseño no lo llegan a ver o que esten muy cansados y he tenido problemas por eso, por lo mismo termine usando esa ventana emergente como la que se encuentra en esta ruta http://grupojaprix.c...lin/Ventana.php, de la manera que ustedes me dijeron es correcta, pero no me abre una ventana con el texto, solo me pone un texto encima de mis registros en la parte de view como se muestra en la imágen que agrego, espero me puedan ayudar ya tenemos unos dias buscandole esa opción. Saludos....

Attached File(s)


0

#8 User is offline   Jack Fiallos 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 256
  • Joined: 15-October 09
  • Location:Mexico

Posted 08 April 2011 - 09:18 AM

En realidad no hay mucha diferencia de lo que posteamos como respuesta a lo q quieres hacer.. la idea fue que vieras como escribir mensajes en el servidor y luego recuperarlos en el cliente.. ahora al codigoque Horacio escribio o al enlace q puse solo le falta que muestre ese mensaje en una especie de ventana lightbox.. que por cierto hay mucos wrappers en las extensiones de yii. Incluso puedes utilizar el componente cjuiDialog
Celestic Dev Team
Yii Open Source Project Manager
0

#9 User is offline   shaolin 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 130
  • Joined: 29-January 11
  • Location:Zacatecas, México

Posted 08 April 2011 - 10:19 AM

Gracias por la contestación, de hecho estaba probando el registerScript, que si funciona de esa manera, pero me llama la atención en utilizar cjuiDialog, que me dieron esta página en el chat http://www.yiiframew...1.1/CJuiDialog/ de la manera que lo realice fue de esta manera:
Yii::app()->clientScript->registerScript(1, 'alert("Registros Almacenados Correctamente")');
aunque me dijeron que no era muy profesional el usar el alert y de ahi me comentaron del que me comentas Jack, dejame investigar sobre el mismo, muchas gracias por la respuesta.... y si tienes un ejemplo te agradeceria que me lo mostraras para ver su uso cuidate. Saludos...
0

#10 User is offline   Jack Fiallos 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 256
  • Joined: 15-October 09
  • Location:Mexico

Posted 08 April 2011 - 10:26 AM

Quizas este otro tutorial pueda servirte.. o al menos darte una idea .. es el uso de cJuiDialog para flashMessages

http://www.yiiframew...s-in-dialogues/

Suerte
Celestic Dev Team
Yii Open Source Project Manager
1

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users