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

On 11/12/07, DJ Spark <[EMAIL PROTECTED]> wrote:
>
>
> opas !
>
> Sobre a documentação:
> A nova versão do manual está em construção, aqui:
> http://tempdocs.cakephp.org/
> Ele está muito mais claro, mais detalhado (onde deve), e, obviamente,
> cobre os novos features do cake1.2
>
> A versão antiga, você já deve saber, está no
> http://manual.cakephp.org/ , e a parte específica do layout, em
> http://manual.cakephp.org/chapter/views
>
> Outra paradinha que ajuda: http://www.cakephp.org/files/cakesheet.pdf
>
> Resumindo, você tem um arquivo de layout que vai envolver o conteúdo
> gerado pelas views. Pra começar , você tem o layout default.ctp , que
> fica dentro de /views/layouts  . Aqui vai ficar o doctype, <html>,
> <head> a chamada do css, js, <body> e os elementos que vão dar a cara
> mais geral do site, e lá no meio tem a chamada pro conteúdo da view:
> http://manual.cakephp.org/chapter/views
>   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';
>
>   Dentro dele, assim como nas views, você usa PHP/HTML normal, e os
> helpers do cakephp para gerar seus links (independente do path da sua
> aplicação), assim como alguns facilitadores para criar forms, selects,
> inputs, labels, etc etc etc
>
>   Nas views, você pode usar os elements para partes do seu código que
> se repetem (ou que fiquem melhor separadas da view principal):
> <?php echo $this->renderElement('banner/full'); ?>
> Esse código vai pegar o que estiver em
> "/views/elements/banner/full.ctp" . Para alguma variável para o
> elemento, use um array nomeado como parametro:
> <?php echo $this->renderElement('banner/full', array('pagina' =>'home'));
> ?>
>
> Uma das coisas mais úteis, e que alivia o cake, em termos de memória,
> é usar um requestAction que só retorna um valor (e não cria novas
> instâncias da view):
> <?php echo $this->renderElement('banner/full', array('pagina'
> =>$this->requestAction('/banners/showBanner/home'))); ?>
>
> E lá no meu BannersController eu teria
> function showBanner($pag = null)
> {
>   return $this->Banner->getBannerToShow($pag);
> }
>
>
>   Outras coisas que fui descobrindo:
> - para sua ação renderizar outra view e/ou outro layout:
> $this->render('outraview', 'outrolayout');
>
> - para que sua view não renderize layout nenhum (quando sua ação é só
> de processamento, por exemplo), defina no na sua ação no controller:
> $this->autoLayout = false;
> $this->autoRender = false;
>
> - o cakephp tem um esquema de temas, que o usuário poderia modificar,
> que não sei usar , mas tem essa variável aqui, em algum lugar
> $this->themeWeb
>
>
>   espero ter ajudado a decifrar o enigma :)
>   spark
>
>
>
>
> On Nov 12, 2007 4:51 AM, Josenivaldo Benito Junior
> <[EMAIL PROTECTED]> wrote:
> > Só acrescentando que já resolvi esse problema.
> >
> > Por algum motivo que eu não sei qual é, havia um "allow" no redirect do
> meu
> > grupo de teste. Então o oth redireciona para tal controller "allow" que
> não
> > existe. Retirando o allow do redirect agora ele funciona como deveria.
> >
> > Também testei a situação onde o usuário tenta "re-logar" sem ter feito
> > logout. O othAuth trata essa situação, de qualquer forma vou fazer com
> que o
> > users/login teste se o usuário já está logado e retorne ele ao sistema
> após
> > uma mensagem "você já está logado" ou coisa tipo. Isso garante qualquer
> > eventual furo.
> >
> > Obrigado a todos que deram as dicas. Assim que colocar o site no ar eu
> posto
> > a URL para vocês darem uma olhada... e claro, criticar à vontade.
> >
> > Em tempo, um comentário. Eu já disse que meu negócio não é layout, não
> tenho
> > o mínimo de dom artistico necessário (na realidade tenho urticária
> quando
> > penso em layout hihihi). Mas estava curioso e procurando documentação do
> > Cake sobre seu esquema de layout. Fiquei impressionado como não achei
> nada
> > de concreto. A documentação do cake é super vaga quando fala de layouts
> e
> > sim, abri o código e vasculhei, vi que não é complicado de comprender,
> mas
> > uma documentaçãozinha seria bem legal. Recentemente fiz uma doação ao
> time
> > do Cake, acredito que devemos suportar aquilo que nos ajuda, acho que
> quando
> > tiver propriedade sobre assunto vou ajudar documentando alguma coisa.
> >
> > Valeu outra vez galera.
> >
> > Abraço,
> > Benito
> >
> >
> > On 11/9/07, Josenivaldo Benito Junior <[EMAIL PROTECTED] > wrote:
> >
> > > Obrigado Bill.
> > >
> > > O mesmo está funcionando, apenas estou enfretando um probleminha que
> ainda
> > estou debugando sem muito sucesso.
> > >
> > > Seu eu tento fazer algo protegido ele me direciona para a página de
> login
> > (ótimo!). Tudo ocorre bem agora. Mas, se eu sou um usuário esperto e
> savei a
> > URL: localhost/app/users/login e uso ela para entrar no site (ou seja,
> não
> > sou redirecionado para o login, vou direto a ele como primeira atividade
> do
> > site), após o login o "auto redirect" me joga para
> > >
> > > localhost/app/allow
> > >
> > > que obviamente não é um controller válido. Me parece que allow é lixo
> > dentro da variável "from" que não está setada. Mas já estou correndo
> atrás
> > para descobrir onde se origina o problema. Assim que souber eu posto
> aqui.
> > >
> > > Abraço
> > > Benito
> > >
> > >
> > >
> > > On 11/9/07, Bill < [EMAIL PROTECTED]> wrote:
> > > >
> > > >
> > > > Vamos a algumas dicas do padeiro aqui..rsrsrsrs
> > > >
> > > > no arquivo app_controller.php, dentro da função beforeFilter, insira
> > esta linha
> > > >
> > > >         $this->othAuthRestrictions[] = Configure::read('
> Routing.admin');
> > > >
> > > > Ficando desta maneira
> > > >
> > > > function beforeFilter()
> > > >     {
> > > >
> > > >         $this->othAuthRestrictions[] = Configure::read('
> Routing.admin');
> > > >
> > > >
> > > > Agora, no component oth_auth.php, troque todas referências:
> > > >
> > > > defined('CAKE_ADMIN')
> > > >
> > > > Por:
> > > >
> > > > Configure::read('Routing.admin')
> > > >
> > > >
> > > > e todas ocorrencias de:
> > > >
> > > > CAKE_ADMIN
> > > >
> > > > Por:
> > > > Configure::read('Routing.admin')
> > > >
> > > >
> > > > e tb troque neste arquivo a linha:
> > > > $res =
> $UserModel->save($row,true,array($this->user_table_last_visit));
> > > >
> > > >
> > > > Por estas 2 linhas:
> > > > $UserModel->id = $row[$this->user_model]['id']; $res =
> >
> $UserModel->saveField($this->user_table_last_visit,$row[$this->user_model][$this->user_table_last_visit],true);
> > > >
> > > >
> > > > Estas dicas foram extraidas deste blog:
> > > > http://www.ancientwisdom.cc/news/archives/111
> > > >
> > > > Espero q te ajude
> > > >
> > > >
> > > > > Boa noite Bill, Gustavo e lista,
> > > > >
> > > > > Bill, funcionou, agora ele não tenta mais criar um registro novo
> na
> > > > > tabela de usuários e atualiza os dados de last visit e modified
> > > > > corretamente. Porém continua  o notice:
> > > > >
> > > > > Notice: Only variables should be assigned by reference in
> > > > > C:\xampp\htdocs\logbook\app\controllers\components\oth_auth.php on
> > > > > line 301
> > > > >
> > > > > Obviamente seguido de um "Cannot modify headers" já que isso
> > > > > acontece em um redirecionamento.
> > > > >
> > > > > Algum outro ajuste no oth_auth.php?
> > > > >
> > > > > Grato.
> > > > > Benito
> > > > >
> > > > > On 11/8/07, Bill wrote:>  Bom, vamos lá,
> > > >
> > > > > instalei aqui o othAuth e funcionou perfeito, mas tem alguns
> > > > > ajustes necessários, primeiro, vamos tratar deste erro:
> > > > >
> > > > >> + ou - na linha 323 do component oth_auth.php, temos o seguinte
> > > > >> trecho de código:
> > > > >>
> > > > >> // Update the last visit date to now
> > > > >>           if(isset($this->user_table_last_visit))             {
> > > > >>                   $row[$this->user_model][$this-
> > > > >> >user_table_last_visit] = date('Y-m-d H:i:s');
> > > > >> $res = $UserModel->save($row,true,array($this-
> > > > >> >user_table_last_visit));             }     Substitua por isto:
> > > > >> // Update the last visit date to now
> > > > >>           if(isset($this->user_table_last_visit))             {
> > > > >>               $row[$this->user_model][$this-
> > > > >> >user_table_last_visit] = date('Y-m-d H:i:s');
> > > > >>               $UserModel->id = $row[$this->user_model]['id'];
> > > > >>             $res = $UserModel->saveField($this-
> > > > >> >user_table_last_visit,$row[$this->user_model][$this-
> > > > >> >user_table_last_visit],true);             }
> > > > >>
> > > > >>
> > > > >> Na linha ($res = $UserModel->saveField($this-
> > > > >> >user_table_last_visit,$row[$this->user_model][$this-
> > > > >> >user_table_last_visit],true); ) eu troquei o $UserModel->save
> > > > >> por $UserModel->saveField, que atualiza o registro, atualizando
> > > > >> assim a data de autenticação do usuário, quando o save, apenas
> > > > >> está tentando isnerir um novo registro, por isto dá erro
> > > > >>
> > > > >>
> > > > >> Ah, acessa a tabela de usuários do othAuth e deleta um registro
> > > > >> em branco q tem lá, ele foi criado por este save besta ai de
> > > > >> cima..rs
> > > > >>
> > > > >> Qquer coisa so perguntar
> > > > >>
> > > > >>
> > > > >>> Bom dia,
> > > > >>>
> > > > >>> Não falei que iria começar a fazer perguntas? Seguindo a
> > > > >>> documentação do othAuth consegui por para funcionar (ainda tem
> > > > >>> bugs) mas estou tendo dois problemas:
> > > > >>>
> > > > >>> 1) Recebo a mensagem: Notice: Only variables should be assigned
> > > > >>> by reference in
> > > > >>> C:\xampp\htdocs\logbook\app\controllers\components\oth_auth.php
> > > > >>> on line 301 logo depois de logar com usuário correto. A linha
> > > > >>> 301 está, se não me engano, fazendo o save do LoginAttempt
> > > > >>> model. Como dá esse Notice, não grava o login attempt e,
> > > > >>> obviamente, não faz o redirect corretamente.
> > > > >>>
> > > > >>> 2) Se apago o cookie de sessão (para forçar um login), recebo,
> > > > >>> além do item um acima, um
> > > > >>>
> > > > >>>
> > > > >>> Query: INSERT INTO `users` (`last_visit`,`created`,`modified`)
> > > > >>> VALUES ('2007-11-08 02:05:27','2007-11-08 02:05:27','2007-11-08
> > > > >>> 02:05:27')
> > > > >>> Warning: SQL Error: 1062: Duplicate entry '' for key 2 in
> > > > >>>
> C:\xampp\htdocs\cake_core\cake\libs\model\datasources\dbo_source.php
> > o
> > > > >>>  n line 440 que, neste caso, está tentando dar INSERT de
> > > > >>> valores na tabela users para uma key 2. O detalhe é que só
> > > > >>> tenho um usuário na tabela users e ele tem key (Id) 1. Os
> > > > >>> campos create e modified e last_visit do user (id=1) não são
> > > > >>> mexidos, mas a entrada 2 é criada (caso não exista) e depois
> > > > >>> recebo esse erro. Pergunta, o othAuth não deveria tentar um
> > > > >>> "UPDATE" ao invés de INSERT? Alguém sabe o que está causando
> > > > >>> isso? Grato 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
-~----------~----~----~----~------~----~------~--~---

Responder a