podes colocar no teu controller de Blog, no evento beforeRender:
function beforeRender()
{
$this->layout = "blog";
}
assim todos os métodos desse controller usaram o layout blog.ctp que deve
estar na pasta views/layouts
On Dec 21, 2007 11:11 AM, DJ Spark <[EMAIL PROTECTED]> wrote:
>
> 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
>
> >
>
--
Lucas Ferreira
------------------------------------------------
Burn web.studio: http://www.burnweb.com.br/
Pessoal: http://www.lucasferreira.com/
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---