Opas!

 só para completar a discussão:

 - para mudar o layout (que estará em /views/layouts/nonolayout.ctp)

 $this->layout = 'nonolayout';

 - para que ele NAO use nenhum layout, como numa função interna do seu
sistema, onde ele nao vai retornar nada:

$this->autoLayout = false;
$this->autoRender = false;

 - Agora, essa é a mais útil de todas: se voce quiser renderizar OUTRA
VIEW, é só mandar pro render

$this->render('outraview');
ela deve estar na mesma pasta da view dessa action que vc está
executando. ('../outrofolder/outraview') poderia ser usado para isso.

 Isso é muito prático para, por exemplo, mostrar a pagina do de um
jeito diferente, caso o usuario esteja logado.

 Alguém tem outras manhas para view/render/layout ?

 abraços
 spark

On Dec 20, 2007 12:08 PM, Bill <[EMAIL PROTECTED]> wrote:
>
> Olá Juan,
>
> agora deu certo, usei dentro da function do controller isto:
> $this->layout = 'blog';
>
> estou usando a 1.2 pre-beta do cake
>
> Abraços
>
>
> >
> > Bill,
> >
> > Qual versão do Cake você está usando? Testei agora com o Cake
> > 1.2.6178
> > (HEAD do SVN) e deu certo. Fiz o seguinte:
> >
> > teste_controller.php
> > class TesteController extends AppController {
> > var $uses = array();
> > function plug() {
> > $this->layout = 'lala';
> > }
> > }
> >
> > layouts/lala.ctp
> >
> >
> >
> >
> > teste/plug.ctp
> >
> >
> >
> > O resultado saiu o print_r formatado certinho dentro do... Uma
>
>
> > coisa que vi que você escreveu, não sei se foi errado ou não, mas
> > você
> > falou que colocou o layout na pasta "layout", mas é na pasta
> > "layouts" (plural).
> > Outra dica: cuida pra ver se no AppController não está definindo um
> > layout no beforeRender. :)
> >
> >
> > Juan Basso
> > http://www.cakephpforum.net
> >
> >
> > Josenivaldo Benito Junior escreveu:
> >
> >> Bill,
> >>
> >> Acho que ? necess?rio setar o layout no controller, antes que o
> >> index.ctpseja renderizado.
> >>
> >> Veja um post do "DJ Spark" naquela thread entitulada "*Layout ERA
> >> Re:
> >> othAuth..."*. Num dos ?ltimos e-mails da thread o Spark estava me
> >> explicando sobre o requestAction, e l? ele dizia para "setar" as
> >> vari?veis
> >>
> >> $this->autoLayout = false;
> >> $this->autoRender = false;
> >>
> >> dentro do controller, evitando assim, que fosse renderizado
> >> alguma view. No
> >> seu caso, claro, voc? n?o vai fazer isso, mas vai fazer algo como:
> >>
> >> $this->layout = 'outrolayout';
> >>
> >> Sempre no controller. Veja o trecho cortado da mensagem:
> >>
> >> -- Quote --
> >> A?, se as coisas complicarem (por exemplo, num site, voc? pode ter
> >> um layout para a home, e outro para as paginas internas), ? s?
> >> mudar o
> >> layout no controller,
> >> $this->layout = 'outrolayout';
> >> -- end Quote --
> >>
> >> Acho que ? exatamente o que voc? precisa.
> >>
> >> Abra?o,
> >> Benito.
> >>
>
> >> On 12/20/07, Bill wrote:
> >>
> >>> Tentei de v?rias maneiras e n?o consegui...to apanhando d+ do
> >>> cake
> >>> hoje..rs
> >>>
> >>> fiz o seguinte, criei um arquivo blog.ctp dentro da pasta
> >>> /layout   com um layout simples, tipo
> >>> $content_for_layout; ?>   (apenas pra teste)
>
>
> >>>
> >>> criei o controller blogs_controller.php sem conte?do, apenas
> >>> pra teste.
> >>>
> >>> criei o model blog.php, tamb?m vazio, pra teste.
> >>>
> >>> ai criei uma pasta blogs em /views/blogs, onde criei um arquivo
> >>> index.ctp, e nele coloquei o conteudo da p?gina, tipo:   Teste
> >>> de blog
> >>>
> >>> no controller, tentei usar
> >>> $this->layout = 'blog'
> >>> $this->render(null, 'blog');
> >>> var $layout = 'blog';
> >>>
> >>> e n?o consegui visualizar a p?gina de nenhuma maneira, quando
> >>> acesso
> >>>
> >>> http://localhost/site/blogs
> >>>
> >>> aparece uma p?gina em branco.
> >>>
> >>> Quando acesso http://localhost/site, aparece meu site normal
> >>> com seu
> >>> layout default.
> >>>
> >>> Algu?m sabe como resolver?
> >>>
> >>>
> >>>> ou.... criar um novo layout e no seu controller dizer $this-
> >>>>> render(null, 'blog'); onde "blog" ? o nome do arquivo do
> >>>>> novo
> >>>> layout...
> >>>>
> >>>> Em 20/12/07,  John-Henrique Ferreira Silva
> >>>> escreveu:>  Voc? s? precisa definir no m?todo ou no
> >>>> controller qual
> >>>> o layout quer utilizar...
> >>>>> Procure por...
> >>>>> setLayout()
> >>>>> $layout
> >>>>>
> >>>>> Falopa!
> >>>>>
> >>>>>
> >>>>> Em 20/12/07,  Bill escreveu:>  Ol? galera,
> >>>>>
> >>>>>> desenvolvi meu site usando o cake, integrei a meu layout,
> >>>>>> at?
> >>>>>> a? blz. Agora a d?vida, estou criando um blog para meu
> >>>>>> site,
> >>>>>> que utilizar? um layout totalmente diferente do padr?o do
> >>>>>> site.
> >>>>>> Como fa?o isto? ? melhor pegar uma c?pia da pasta /app,
> >>>>>> renomear para blog e criar um novo projeto?
> >>>>>> Ou posso criar meu blog dentro da pasta de meu site?
> >>>>>>
> >>>>>> Falo isto pq precisarei listar os ?ltimos psots do blog na
> >>>>>> Index de meu site.
> >>>>>>
> >>>>>> Abra?os
> >>>>>>
> >>>>>>
> >>>>>> Bill
> >>>>
> >>>>


-- 
[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 
cake-php-pt@googlegroups.com
 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
-~----------~----~----~----~------~----~------~--~---

Responder a