Spark,
Valeu pela aula de RequestAction.
Abraço,
Benito
On 11/12/07, DJ Spark <[EMAIL PROTECTED]> wrote:
>
>
> O requestAction chama uma action de qualquer controller, dentro de
> uma view/layout
>
> Ele pode retornar uma view renderizada pelo proprio controller (muito
> comum com ajax), ou retornar uma variavel
>
> Eu tenho um layout que é mais ou menos assim:
>
> <html>
> <head>
> css, js, etc
> </head>
> <body>
> <div id="wrapper">
> <?php echo $this->requestAction('/banners/showBanner/home',
> array('return')); ?>
> <?php echo $content_for_layout?>
> <?php echo $this->requestAction('/contents/sidebar/', array('return')); ?>
> <?php echo $this->requestAction('/contents/footer/', array('return')); ?>
> </div>
> </body>
>
> esse 'return' diz pro cake para usar apenas a view renderizada por
> aquela ação do controller. Se eu tira-lo, ele não renderiza nada, por
> default.
>
> Esses controladores pegam a página em questão, e mostram algum
> conteúdo de acordo com isso. Para economizar memória (só teria uma
> instância da view), eu poderia apenas pegar o resultado daquela
> action, e renderizar nessa minha view
>
> <?php echo $this->renderElement('/banners/full', array('banner',
> $this->requestAction('/banners/showBanner/home'))); ?>
>
> Se é lento, rápido, comedor de memória, MVC style, ou não, aí não sei
> muito :)
>
> Ah, no controller, voce pode fazer um monte de outras verificações do
> tipo 'se for ajax, renderiza a view, se for request (se a ação está
> sendo chamada pelo requestAction() ), se é um request de um
> webservice, etc.. aí fica *MOLEZA* fazer uma aplicação acessível e
> complexa, mesmo para quem não tem javascript habilitado (celulares,
> redes de alta segurança, leitores de tela, googlebot, etc etc)
>
> if( $this->RequestHandler->isAjax()) {return $variavel;/* faz uma
> coisa se é ajax */}
> elseif( isset ($this->params['requested'])) { return $variavel;/* faz
> outra cosia se é um request interno com requestAction() */}
> else{ $this->set('nomedavariavel', $variavel); /* não tem jeito, é um
> pedido sincrono, de um navegador normal, renderiza tudo normalmente :)
> */}
>
>
> tem um componente aqui que mostra bem isso:
>
> http://bakery.cakephp.org/articles/view/greater-control-with-webservices-component
>
> e o redirecionador para ajax:
> http://bakery.cakephp.org/articles/view/redirects-with-ajax
>
>
> Abraços
> spark
>
> On Nov 12, 2007 10:59 AM, Josenivaldo Benito Junior
> <[EMAIL PROTECTED]> wrote:
> > Olá Spark,
> >
> > Pensei que bastasse não existir view para um action somente de
> > processamento. Setar as variáveis faz sentido.
> >
> > Não entendi muito bem o RequestAction.
> >
> > é isso ai, decifrando o enigma o resultado final é bem melhor.
> >
> > Valeu
> > Abraço.
> > Benito
> >
>
>
>
>
> --
> [livesets] http://djspark.com.br/
> [web] http://sydi.net
> [filmes] http://melhoresfilmes.com.br
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Cake PHP Português" do
Grupos Google.
Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
Para mais opções, visite este grupo em
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---