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 -~----------~----~----~----~------~----~------~--~---