El 27/03/07, Daniel Zelisko <[EMAIL PROTECTED]> escribió:
>
> HOla,
>
> > Tengo una acción en un controlador que consume muchos recursos, y
> > tiene bastante tiempo de proceso, unos 10 minutos, durante ese tiempo
> > en el navegador no aparece nada, hasta que acaba de procesar y se
> > renderiza la vista de esa acción.
> >
> > Cómo se podria mostar un mensaje de loading.. mientras està procesando
> > la acción?
>
> no estoy seguro, pero me parece que algo como:
>
> echo "loading";
> flush();
>
> podría ayudar, aunque esto es una solución "quick and dirty" ;)
>
> mira tb la documentación del php para más info.

yo lo hice usando AJAX de la siguiente manera (en una vista add.thtml):

        <div id='dvMensaje' style='position: absolute; width: 400px;
                                                      bottom: 10%;
right: 20%;'></div>

        <div id='dvLoading' style='display:none; position:absolute;
bottom:20%; right:30%;'>
                <?php echo $this->renderElement('ajax_indicator');?>
        </div>

        <div class="submit">
        <?php
                $ajax_options['url'] = 'add';
                $ajax_options['update'] = 'dvMensaje';
                $ajax_options['before'] =
"Element.update('dvMensaje','&nbsp;');";
                $ajax_options['loading'] = "Element.show('dvLoading');";
                $ajax_options['complete'] = "Element.hide('dvLoading');";
                echo $ajax->submit('Crear',$ajax_options);
        ?>
        </div>

un Div para los mensajes de error (dvMensaje) y otro que al cargarse
esta oculto y contiene el elemento ajax_indicator.thtml que un unico
tag <img src=...> que carga una gif animada, hay varias para elegir en
Internet[1][2]. mas info en la seccion AJAX del capitulo Helpers[3]
del Manual.

[1] http://www.napyfab.com/ajax-indicators/
[2] http://www.ajaxload.info/
[3] http://manual.cakephp.org/chapter/helpers

-- 
Ricardo Mun~oz A.

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a