Re: API Google Maps
Olá turma, Resolvi o problema! Primeiro eu peguei uma página de exemplo do Google e colei no lugar do layout (substituindo assim tudo que eu e o cake fizemos). Funcionou perfeitamente. Então fui substituindo gradualmente o código estático pelo código gerado pelo cake e eu até que cheguei a conclusão que o problema é o DIV que contém o mapa (daqui em diante chamado de map_canvas). Nas propriedades do map_canvas não havia definição de tamanho e, nos exemplos Google havia tais styles: height e width. Mantive os tamanhos sugeridos no exemplo e concluí a mudança do layout de volta ao esquema cake. Pronto. Lá estava o mapa no Firefox, IE e Opera 9.5 Windows. Liguei o Wii, entrei o browser e babadim! Lá estava o mapa também. Abri a CSS todo faceiro e mudei height e width para 100% (querendo tomar todo o espaço disponível no div content para o map_canvas). E então tudo desapareceu, tanto no FF quanto no IE... no opera não preciso nem dizer né? Voltei tamanhos fixos (em unidade px) e pronto, lá está o mapa novamente. Existe alguma coisa que eu não conhecia com DIV de posicionamento relativo (map_canvas) e as propriedades height e width definidas em porcentagens. Basta mudar e o map_canvas desaparece em todos os navegadores (não debuguei mas acho que ele está lá ou invisivel ou com tamanho reduzido ou o GMap não consegue usá-lo porque o tamanho ainda não está definido naquele momento). De fato a solução foi fixar height e width usando unidade px e fazer um javascript para checar o tamanho da janela e redimensionar o map_canvas para ocupar o tamanho desejado. Após esse processo é necessário chamar uma API do GMap que atualiza o mapa dentro do map_canvas. Em tempo, no meio dessa luta toda eu precisei mexer no helper do Lababidi para Google Maps. De fato o helper usava uma versão antiga da API e carregava o mapa de imediato não esperando o total carregamento da página antes de executar a inicialização dos mapas. Isso pode trazer alguns problemas como o map_canvas ainda não estar criado (você não pode defini-lo após a inicialização do mapa mas sim antes), tamanhos ainda não terem sidos ajustados, etc. Nos exemplo do Google a inicialização do mapa é sempre feita com o evento onload do Body fazendo com todos os elementos estáticos já estejam devidamente carregados antes da inicialização. Melhorei o helper de forma a inserir uma função de inicialização dos mapas ao invés de fazê-lo por si. Também retirei das mãos do helper a tarefa de criar o map_canvas deixando o usuário livre para nomeá-lo (evitando conflitos) e estilizá-lo na própria view passando ao helper apenas seu ID (como fazemos com javascript, passamos o id do elemento que receberá o resultado). Troquei as chamadas de API para as nova (de GMap para GMap2) incluindo a migração de GPoint para GlatLong na criação de markers. Gostaria de publicar minha contribuição em algum site. Bill poderia ser no cakephp.com.br? Também pretendo fazer um pequeno artigo em inglês para complementar o do Lababidi no Bakery. Abraço, Benito ps: não subi a versão alterada para o servidor de produção ainda. Assim que subir aviso. 2008/2/14 Josenivaldo Benito Junior [EMAIL PROTECTED]: Olá pessoal, Bom, deixa eu atualizar as informações que tenho, assim vocês vão poder me ajudar melhor e, no futuro protegerem-se desse problema. Como havia comentado, o problema ocorre em operas anteriores ou iguais ao 9.25 (acho que é a maioria da base instalada -- incluindo o Opera do Nintendo Wii e dos celulares J2me que também têm problemas). Ontem a noite comecei vários testes. Substituí meu *layout* map.ctp por um conteúdo padrão Google (sugerido na página das APIs). Usei o Nintendo Wii como benchmark (o browser do Wii é provido pelo Opera). Claro, essa mudança radical funcionou pois, não usava nada do cake, nem das minhas *views*. Usando esse modelo do google, acrescentei apenas um: ?php echo $content_for_layout;? E imediatamente não funcionou mais (no Opera do Wii), no Firefox e IE tudo beleza como antes. Opa, então o problema estava, ou no *helper* ou na view plotter.ctp. Isso eliminou problemas no *layout* map.ctp. Então fui na * view* plotter.ctp e comecei a enxugar tudo. Eu tinha dois DIVs dentro dessa view, um iria conter o mapa e outro conteria campos. Matei ambos, deixei só o *helper* trabalhando e bingo. Funcionou no Wii, FF e IE. Deduzi então que fosse problema com DIV e fui googlear. Descobri problemas muito antigos com DIV mas nenhum cabia no meu caso. De qualquer forma abri o *helper *e verifiquei que seu autor, Mahmoud Lababidi, usou o objeto GMap e não o GMap2 que, segundo o Google, possui mais funcionalidades (e, certamente mais *bugfixes*). Fiz algumas alterações no *helper* para acomdar o GMap2 e suas incompatibilidades com o GMap. Tudo funcionou glorioso no Wii, FF e IE. Até uns problemas de *loading* que, as vezes, aconteciam no IE (6 e 7) sumiram. ÓTIMO! Voltei os DIV que haviam na *view* plotter.ctp. Claro, não funcionou mais no Wii
Re: hasandbelongstomany com três tabelas
Olá Rafael, Dei uma googleada ultra rápida (não refinei muito), mas acho que o que você quer fazer está representado aqui: http://images.google.com.br/imgres?imgurl=http://www.ariadne.ac.uk/issue27/paschoud/Image3.gifimgrefurl=http://www.ariadne.ac.uk/issue27/paschoud/h=402w=576sz=36hl=pt-BRstart=34tbnid=Tr76TkX4itZ63M:tbnh=94tbnw=134prev=/images%3Fq%3D3%2Bway%2Brelation%2Btable%26start%3D18%26gbv%3D2%26ndsp%3D18%26hl%3Dpt-BR%26sa%3DN Verifique a figura: *Figure 3: Tables, columns and relations within the RDM database (note: not all columns are shown here)* Veja que a tabela Resource tem ligação HABTM com outras três tabelas, sempre pelo Resource-ID. Para cada ligação existe uma tabela HABTM. Se as tabelas, exemplo que estou imaginando, Keyword e Subject precisassem estar ligadas deveria haver outra HABTM entre essas duas tabelas e, através da recursividade do cake você conseguiria fazer buscas em Resource indicando Keyword e Subject e o relacionamento entre essas. Abraço, Benito 2008/2/18 Josenivaldo Benito Junior [EMAIL PROTECTED]: Rafael, Acho que o conceito está errado. Um relacionamento ocorre entre duas tabelas e não entre três. Se você precisa relacionar as 3 tabelas precisa definir relações entre cada par de tabelas: Tabelas A, B e C Relações A-B , A-C, B-A, B-C, C-A e C-B Com a recursividade do cake você consegue acessar, através do relacionamento A-B, a relação de B-C. Mas não vejo como você faria a conexão entre três tabelas diretamente. Falei besteira? Abraço, Benito 2008/2/18 Rafael Bueno [EMAIL PROTECTED]: Boa tarde pessoal !!!, então acontece o seguinte tenho um relacionamento de muitos pra muitos com três tabelas e estou tentando o seguinte tray_rotinas_loja.php var $hasAndBelongsToMany = array(Tray_grupo, Tray_acao); tray_acao.php var $hasAndBelongsToMany = array(Tray_rotinas_loja, Tray_grupo); tray_grupo.php var $hasAndBelongsToMany = array(Tray_acao, Tray_rotinas_loja); nome da tabela com as chaves estrangeira q faz a ligação das três tabelas é: tray_acoes_tray_grupos_tray_rotinas_lojas mais quando tento dar um findAll ou save retorna Warning: SQL Error: 1146: Table 'traynewpainel.tray_acoes_tray_grupos' doesn't exist ñ sei pq mais o cake ñ conseguiu relacionar as três tabelas valeu pessoal aguardo respostas -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Upload de imagens com ajax
Sim, é possível. Aqui na empresa fazemos uploads de 80MB para um diretório web da intranet. Claro que, se a conexão não for boa pode dar pau no meio. Abraço, Benito 2008/2/15 Ricardo Valfreixo [EMAIL PROTECTED]: Aproveito a thread para por uma pergunta relacionado com upload. eu tenho ficheiros que vãodos 30MB até aos 200Mb para fazer upload via formulário. É possível isto? Obrigado Zen On Fri, Feb 15, 2008 at 1:55 PM, Rafael Bueno [EMAIL PROTECTED] wrote: dei um print_r($this-params['form']); e ele retorna com ajax [arq] = C:\Documents and Settings\admin\Meus documentos\Minhas imagens\lupa2.GIF sem ajax [arq] = Array ( [name] = lupa2.GIF [type] = image/gif [tmp_name] = /var/tmp/phpXvwJ8Y [error] = 0 [size] = 2905 ) -- --~-- ~ ---~--- name: Ricardo Valfreixo MSN: [EMAIL PROTECTED] ICQ: 400584101 AIM: ricardozen ~ --~-- ---~--- -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: API Google Maps
não estou enxergando além dos DIV. Por que a linha DOCTYPE (que funciona no layout padrão do cake) faz o FF/IE quebrarem? Eu copiei e colei a linha de vários locais diferentes e sempre tenho o mesmo problema. Tentei digigar e nada. (não era erro de digitação pois nem via *copy and paste*). Neste caso, alguém tem alguma idéia? Não deu tempo ontém de subir as alterações para a Web enão, a versão em http://sistemas.gbvudx.org/disclosed_stations/plotter/ (mantenha a / no final) é aquela que: 1) não funciona no Opera mas funciona no IE/FF/Safari. 2) não ainda usa GMap ao invés de GMap2 Porém o *layout* produzido é o mesmo que causa problemas no Opera. E o mesmo que, se acrescentar DOCTYPE dá problemas em todos os navegadores. Agradeço qualquer ajuda e subo os código necessários para análise. Em tempo, quero deixar claro que não funcionar no Wii significa que o DIV com o mapa não aparece mas os controles do mapa (flutuantes sobre ele ) aparecem e respondem a clicks, a linha de copyright do mapa também aparece. Veja: http://browsershots.org/http://sistemas.gbvudx.qsl.br/disclosed_stations/plotter/os screenshots dos brownser (os Opera 9.25 são extamentes como no Wii (tirando que o Wii não tem janelas)). Obrigado, Benito. 2008/2/13 Josenivaldo Benito Junior [EMAIL PROTECTED]: Oi Juan, Que foi na parte que eu fiz ou que é alguma incompatibilidade com scripts do cake (acho difícil) não há dúvidas. Eu pedi uns browser shots ( http://www.brownsershots.org - fantástico) do meu site e do http://maps.google.com para ver como ficava. Com isso descobri que o Google Maps oficial funciona em tudo que é browser do universo (to exagerando, mas em todos com os quais precismos nos preocupar funciona) e descobri também que o problema do meu site é com o Opera 9.25 ou inferior, na nova versão 9.50 funciona. Isso já deu alguma luz no fim do túnel. Quanto ao código, aproveitei uma compilação no trabalho para formular a pergunta, o código do site fica em casa e não aqui na empresa. (aliás, por curiosidade, uma compilação e linkedição completo do nosso produto leva 1,5 horas numa máquina com 4 processadores dual core - veja que tive algum tempo extra para pesquisar novidades e problemas hihi). Depois eu posto o código aqui ok? Abraço e obrigado por enquanto. Benito 2008/2/13 Juan Basso [EMAIL PROTECTED]: Olha, olhando rapidamente no Google, parece que o pessoal não tem problemas com o GoogleMaps com Opera, ou seja, deve ser na parte que você fez. :) Portanto, acho que sem ver o código fica meio difícil de ajudar. Juan Basso On 13 fev, 14:06, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá turma, Alguém ai usa a API do Google para mapas? Estou usando e adorando. Uma das coisas que o sistema precisava era do mapa. Eu já tinha feito, no braço, com design atoscalhado, no ano anterior. Com cake ficou muito melhor. Agora estou com um pequeno problema de visualização e precisava ver se alguém já passou por isso. Tem funcionado 100% no firefox, também funciona 99% no IE (5, 6 e 7 - todos tem pequenos problemas de loading das imagens, mas isso é tolerável). Já o Opera, seja versão Windows, Linux ou Wii (Nintendo Wii) não abre os mapas, apenas os controles. Desconfio de CSS, Javascript ou coisa do gênero mas não sei como debugar o problema. Eu já mudei, tirei e recoloquei quase tudo de Javascript que eu pude e, no máximo faço parar de funcionar no Firefox/IE mas nunca consigo fazer funcionar no Opera. Usando o Opera e indo emhttp://maps.google.com(ou Opera do Wii) funciona. Alguém tem alguma dica? -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD)http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: IDE para PHP
Olá, Também escolhi o Eclipse + PDT + tourtoise SVN. Abraço, Benito 2008/2/14 Bill [EMAIL PROTECTED]: acho eclipse pesado, um q uso a anos é o Editplus, um editor simples e muito bom. o notepad ++ tb é levinho e bom pra usar Gosto muito do Eclipse com PDT, tem tanto pra Win quanto pra Linux, e é livre.. Thiago 2008/2/14 Murdoc : Olá pessoal acabei de entrar para o grupo e gostaria de saber qual a IDE vocês tem usado para desenvolver os projetos em php, eu uso o aptana com plugin para o php ele tem intelisense que é bem util e da um suporte bacana para css. -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
API Google Maps
Olá turma, Alguém ai usa a API do Google para mapas? Estou usando e adorando. Uma das coisas que o sistema precisava era do mapa. Eu já tinha feito, no braço, com design atoscalhado, no ano anterior. Com cake ficou muito melhor. Agora estou com um pequeno problema de visualização e precisava ver se alguém já passou por isso. Tem funcionado 100% no firefox, também funciona 99% no IE (5, 6 e 7 - todos tem pequenos problemas de loading das imagens, mas isso é tolerável). Já o Opera, seja versão Windows, Linux ou Wii (Nintendo Wii) não abre os mapas, apenas os controles. Desconfio de CSS, Javascript ou coisa do gênero mas não sei como debugar o problema. Eu já mudei, tirei e recoloquei quase tudo de Javascript que eu pude e, no máximo faço parar de funcionar no Firefox/IE mas nunca consigo fazer funcionar no Opera. Usando o Opera e indo em http://maps.google.com (ou Opera do Wii) funciona. Alguém tem alguma dica? -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: API Google Maps
Oi Juan, Que foi na parte que eu fiz ou que é alguma incompatibilidade com scripts do cake (acho difícil) não há dúvidas. Eu pedi uns browser shots ( http://www.brownsershots.org - fantástico) do meu site e do http://maps.google.com para ver como ficava. Com isso descobri que o Google Maps oficial funciona em tudo que é browser do universo (to exagerando, mas em todos com os quais precismos nos preocupar funciona) e descobri também que o problema do meu site é com o Opera 9.25 ou inferior, na nova versão 9.50 funciona. Isso já deu alguma luz no fim do túnel. Quanto ao código, aproveitei uma compilação no trabalho para formular a pergunta, o código do site fica em casa e não aqui na empresa. (aliás, por curiosidade, uma compilação e linkedição completo do nosso produto leva 1,5 horas numa máquina com 4 processadores dual core - veja que tive algum tempo extra para pesquisar novidades e problemas hihi). Depois eu posto o código aqui ok? Abraço e obrigado por enquanto. Benito 2008/2/13 Juan Basso [EMAIL PROTECTED]: Olha, olhando rapidamente no Google, parece que o pessoal não tem problemas com o GoogleMaps com Opera, ou seja, deve ser na parte que você fez. :) Portanto, acho que sem ver o código fica meio difícil de ajudar. Juan Basso On 13 fev, 14:06, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá turma, Alguém ai usa a API do Google para mapas? Estou usando e adorando. Uma das coisas que o sistema precisava era do mapa. Eu já tinha feito, no braço, com design atoscalhado, no ano anterior. Com cake ficou muito melhor. Agora estou com um pequeno problema de visualização e precisava ver se alguém já passou por isso. Tem funcionado 100% no firefox, também funciona 99% no IE (5, 6 e 7 - todos tem pequenos problemas de loading das imagens, mas isso é tolerável). Já o Opera, seja versão Windows, Linux ou Wii (Nintendo Wii) não abre os mapas, apenas os controles. Desconfio de CSS, Javascript ou coisa do gênero mas não sei como debugar o problema. Eu já mudei, tirei e recoloquei quase tudo de Javascript que eu pude e, no máximo faço parar de funcionar no Firefox/IE mas nunca consigo fazer funcionar no Opera. Usando o Opera e indo emhttp://maps.google.com(ou Opera do Wii) funciona. Alguém tem alguma dica? -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD)http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: i18n __('again')
Alô Juan, Muito grato por sua resposta. Eu já sabia que usando __() dava certo, mas não entendi o motivo do $form-input não precisar do __ e os outro casos sim. Mais além, já que os métodos end e submit não fazem uso do __() automaticamente, por que o cake bake não faz uso explicito já que, em todas as outras strings das views, ele faz. Achei o comportamento do bake não querente neste caso. Obrigado novamente. Abraço, Benito 2008/2/9 Juan Basso [EMAIL PROTECTED]: Nem um, nem outro. Isso é o comportamento normal. :) Você tem que fazer assim: $form-submit(__('Submit', true)); O mesmo pro end... Abraços, Juan Basso On 8 fev, 23:18, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá turma, Vocês já notaram que os forms gerados pelo cake e seu formhelper são internacionalizáveis. Porém, é só comigo ou o botão submit é único que não compartilha dessa capacidade? Um: $form-end('Submit'); ou: $form-submit('Submit'); Ao passar pelo bake extract não geram strings para tradução. Porém um $form-input('qualquer coisa'); gera string. Isso é bug ou é feature? Abraço, Benito -- Josenivaldo Benito Junior. PU2LBD Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com PY2BRZ e PY2HCD) http://www.gbvudx.qsl.br Assine a Lista de e-mails do GBVUDX: http://www.gbvudx.qsl.br/refletor_gbvudx.asp --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Select para categorias
Por acaso você colocou a as relações entre os modelos Post e Categoria? post hasOne categoria e categoria hasMany posts outra coisa, veja que é $this-Categoria e não $this-$Catetoria. Veja ai e fala para agente. Abraço, Benito 2008/2/8 Bruno Trazzini [EMAIL PROTECTED]: Obrigado pela ajuda, mas isso eu devo colocar dentro do controlador Post certo? Dai a mensagem de erro foi *Undefined property: PostsController::$Categoria* Josenivaldo Benito Junior escreveu: olá, supondo que o seu modelo chama-se Category basta, no controler fazer: $categories = $this-Category-findAll('list'); ... $this-set(compact('categories')); O próprio bake gera dessa forma. Perdoe qualquer erro de sintaxe. Abraço, Benito. 2008/2/7 etapombas [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: Galera estou com uma dúvida de iniciante. Eu preciso criar um select com todas categorias, pois na hora cadastrar um 'post' (exemplo) eu preciso informar para qual categoria este post pertence. Obrigado ;) --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Select para categorias
olá, supondo que o seu modelo chama-se Category basta, no controler fazer: $categories = $this-Category-findAll('list'); ... $this-set(compact('categories')); O próprio bake gera dessa forma. Perdoe qualquer erro de sintaxe. Abraço, Benito. 2008/2/7 etapombas [EMAIL PROTECTED]: Galera estou com uma dúvida de iniciante. Eu preciso criar um select com todas categorias, pois na hora cadastrar um 'post' (exemplo) eu preciso informar para qual categoria este post pertence. Obrigado ;) --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Select para categorias
Bruno, Perai! Deixa eu entender. 1) Um post pertence a uma categoria certo? ou 2) Um post pertece a várias categorias? (um post pode estar em duas categorias ao mesmo tempo) Assumindo o caso 1 acima: A tabela (modelo) post deveria conter um campo chamado categoria_id. Na tabela categoria não precisa referenciar post mas, deve possuir uma chave primária chamada id. No modelo post você fará uma relação hasOne para categoria e no modelo categoria fará uma relação hasMany com post. Até aqui, seus modelos parecem ok. Mas veja o SQL, ele pesquisa por Categoria.post_id = [...]. Deveria ser Categoria.id = Post.categoria_id. Se o cake montou esse SQL sozinho, reveja suas declarações hasOne e hasMany pois o campo post_id não existe na tabela Categoria (e nem deve existir). Abraço, Benito. On Feb 8, 2008 7:20 PM, Bruno Trazzini [EMAIL PROTECTED] wrote: Poxa cara fiz os relacionamentos mas esta dando erro: * Query:* SELECT `Post`.`id`, `Post`.`categoria_id`, `Post`.`titulo`, `Categoria`.`id`, `Categoria`.`titulo` FROM `posts` AS `Post` LEFT JOIN `categorias` AS `Categoria` ON (`Categoria`.`entrada_id` = `Post`.`id`) WHERE 1 = 1 *Warning*: *SQL Error:* 1054: Unknown column 'Categoria.post_id' in 'on clause' in */home/bru/Sites/cake/cake/libs/model/datasources/dbo_source.php* on line *440* TABELAS: categorias id int titulo varchar posts id titulo categoria_id MODELOS: post model var $hasOne = 'Categoria'; categoria model var $hasMany = 'Entrada';** --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Um core para várias apps
Eu fiz isso e mais algumas coisas. Ao invés da pasta apps (e suas cópias) ficarem dentro da pasta cake (core) fiz uma estrutura assim: / |--/app1 |--/app2 |--/cake_core Ai, claro, fiz ajustes em cada app para apontar corretamente para o core. Pra que isso? No meu servidor, o diretório app1 é um domínio (ex: www.xyz.com.br) e o diretório app2 é outro domínio (ex: www.wyk.com.br). Assim, cada um dos dois domínios têm, imediatamente, as suas raízes como sendo a aplicação e não me preocupo com roteamentos no core. Particularmente acho a organização de diretórios e a formação de URLs no cake uma característica fantástica! Abraço, Benito. 2008/2/8 Bill [EMAIL PROTECTED]: Crie cópias da sua pasta /app e renomeie para o nome da aplicação que precisar...pode ter quantas precisar. Bom gente eu queria saber como eu faço pra usar um mesma core do cake com várias apps, será que alguem sabe me dizer como fazer isso... --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Um core para várias apps
Oi Juan, Grato pela dica. Não tinha atendado para este fato. Valeus! Abraços, Benito 2008/2/8 Juan Basso [EMAIL PROTECTED]: Benito, Se você tem em um servidor isso, cuidado. É recomendado que você não torne a pasta inteira da aplicação pública, ou seja, não coloque a pasta app dentro da public_html, www ou htdocs (dependendo do servidor). É recomendado que você coloque apenas a pasta app/webroot na parte pública. O restante deve ficar numa parte não pública. Você conferir melhor em http://tempdocs.cakephp.org/#TOC26557 (manual oficial em inglês) ou http://manual.cakephp.com.br/doku.php?id=install#producao (manual traduzido aqui pelo pessoal do groups). Se ficar meio complicado fazer como especificado, configura a próxima seção (Instalação avançada). Tobias: Os mesmos links valem pra você. Juan Basso On 8 fev, 21:33, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Eu fiz isso e mais algumas coisas. Ao invés da pasta apps (e suas cópias) ficarem dentro da pasta cake (core) fiz uma estrutura assim: / |--/app1 |--/app2 |--/cake_core Ai, claro, fiz ajustes em cada app para apontar corretamente para o core. Pra que isso? No meu servidor, o diretório app1 é um domínio (ex: www.xyz.com.br) e o diretório app2 é outro domínio (ex:www.wyk.com.br). Assim, cada um dos dois domínios têm, imediatamente, as suas raízes como sendo a aplicação e não me preocupo com roteamentos no core. Particularmente acho a organização de diretórios e a formação de URLs no cake uma característica fantástica! Abraço, Benito. 2008/2/8 Bill [EMAIL PROTECTED]: Crie cópias da sua pasta /app e renomeie para o nome da aplicação que precisar...pode ter quantas precisar. Bom gente eu queria saber como eu faço pra usar um mesma core do cake com várias apps, será que alguem sabe me dizer como fazer isso...- Ocultar texto entre aspas - - Mostrar texto entre aspas - --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
i18n __('again')
Olá turma, Vocês já notaram que os forms gerados pelo cake e seu formhelper são internacionalizáveis. Porém, é só comigo ou o botão submit é único que não compartilha dessa capacidade? Um: $form-end('Submit'); ou: $form-submit('Submit'); Ao passar pelo bake extract não geram strings para tradução. Porém um $form-input('qualquer coisa'); gera string. Isso é bug ou é feature? Abraço, Benito --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Um core para várias apps
Pronto, já mudei! Agora ficou assim: /home/benito --- no servidor de produção | |---cake_core |---app1 |---webroot -dominio xyz |---app2 |---webroot -domino wkz Valeu Juan Abraço, Benito 2008/2/9 Josenivaldo Benito Junior [EMAIL PROTECTED]: Oi Juan, Grato pela dica. Não tinha atendado para este fato. Valeus! Abraços, Benito 2008/2/8 Juan Basso [EMAIL PROTECTED]: Benito, Se você tem em um servidor isso, cuidado. É recomendado que você não torne a pasta inteira da aplicação pública, ou seja, não coloque a pasta app dentro da public_html, www ou htdocs (dependendo do servidor). É recomendado que você coloque apenas a pasta app/webroot na parte pública. O restante deve ficar numa parte não pública. Você conferir melhor em http://tempdocs.cakephp.org/#TOC26557 (manual oficial em inglês) ou http://manual.cakephp.com.br/doku.php?id=install#producao (manual traduzido aqui pelo pessoal do groups). Se ficar meio complicado fazer como especificado, configura a próxima seção (Instalação avançada). Tobias: Os mesmos links valem pra você. Juan Basso On 8 fev, 21:33, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Eu fiz isso e mais algumas coisas. Ao invés da pasta apps (e suas cópias) ficarem dentro da pasta cake (core) fiz uma estrutura assim: / |--/app1 |--/app2 |--/cake_core Ai, claro, fiz ajustes em cada app para apontar corretamente para o core. Pra que isso? No meu servidor, o diretório app1 é um domínio (ex: www.xyz.com.br) e o diretório app2 é outro domínio (ex:www.wyk.com.br). Assim, cada um dos dois domínios têm, imediatamente, as suas raízes como sendo a aplicação e não me preocupo com roteamentos no core. Particularmente acho a organização de diretórios e a formação de URLs no cake uma característica fantástica! Abraço, Benito. 2008/2/8 Bill [EMAIL PROTECTED]: Crie cópias da sua pasta /app e renomeie para o nome da aplicação que precisar...pode ter quantas precisar. Bom gente eu queria saber como eu faço pra usar um mesma core do cake com várias apps, será que alguem sabe me dizer como fazer isso...- Ocultar texto entre aspas - - Mostrar texto entre aspas - --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: novo cakephp.com.br
Alô Bill, Primeiramente: Tá BUITO! hihi. Parabéns, ficou bem legal. Um detalhe: Ao se inscrever no RSS 2.0 aparece You have subscribed to Joomla! powered Site.. Acho que precisa acertar o nome do site no RSS. Abraço, Benito 2008/2/6 Bill [EMAIL PROTECTED]: Olá galera, desculpe usar o grupo pra isto, mas quero avisar que acabei de colcoar o www.cakephp.com.br no ar, todo reformulado. Agora com tudo funcionando, forum, enquete, artigos, envio de artigos pelos usuários, etc. Por motivo da migração, e incompatibilidade de criptografia entre as senhas do site antigo e o novo, muitos usuários não conseguirão efetuar o login, por isto, peço que usem o Link para Recuperar a Senha, e voltem a acessar o site normalmente. Estou terminando as traduções do portal, portanto não estranhem se tiver mensagens em inglês. Agradeço a atenção de todos, e fiquem a vontade para opinar, contribuir, criticar, etc. Grande abraço a todos amigos do grupo. Bill www.cakephp.com.br --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Campos created e modified
Bom dia turma, Estou observando comportamentos diferentes no cake em minha máquina e no servidor de produção. Em minha máquina local o cake preenche corretamente os campos Created e Modified quando crio ou modifico um registro. As views scaffolding ou as geradas pelo bake nem contêm esses campos, indicando que o cake os reconheceu. Entretanto, no servidor de produção, ao criar um registro os campos aparecem zerado (com data -00-00 00:00) porém o campo modified é alterado quando uso o método de edição. Alguém já enfrentou esse problema? Eis o setup: LOCAL: PHP 4.4.7 Mysql 5.0.45 (acho que não é culpa dele né?) CakePHP 1.2 (disponível no site) REMOTO: PHP 4.4.7 Mysql 4.1.22 CakePHP 1.2 (disponível no site) Obrigado, Benito --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: campos set e enum
Opa, bom fim de semana, Eu não entendi muito bem. A tabela IMAGE tem um campo chamado TIPO certo? Esse tipo, presumo, seria uma lista conhecida de poucos itens? Se for isso, por que não criar o campo TIPO usando o tipo de dados enum do mysql? O que eu não entendi é para que um segundo modelo além do modelo IMAGE á que TIPO é atributo de IMAGE e não chave estrangeira de outro modelo. Manda mais detalhes para gente. Abração e bom feriado, Benito 2008/2/2 SiscoJ WEB [EMAIL PROTECTED]: Pessoal, estou começando a cair dentro do Cake, mas, estou com um problema justamente nessa parte. Tenho um modelo IMAGE q vai ter um atributo TIPO... esse TIPO normalmente vai aparecer nas views simplesmente como header de algumas colunas nas listagens... nao vejo necessidade de criar um enum ou uma table para esse TIPO... como posso criar um modelo sem tabela relacionada de formas q possa mostrar a descriçao desse tipo sempre que quiser e funcione similar a um enum? Alguma sugestao? att. Siscoj WEB On Feb 1, 1:45 pm, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá, Eu resolvi esse problema usando uma função no AppModel: * Get Enum Values * Snippet v0.1.3 *http://cakeforge.org/snippet/detail.php?type=snippetid=112 * * Gets the enum values for MySQL 4 and 5 to use in selectTag() * Tested with PHP 4/5 and CakePHP 1.1.8 */ function getEnumValues($columnName=null) { if ($columnName==null) { return array(); } //no field specified //Get the name of the table $db = ConnectionManager::getDataSource($this-useDbConfig); $tableName = $db-fullTableName($this, false); //Get the values for the specified column (database and version specific, needs testing) $result = $this-query(SHOW COLUMNS FROM {$tableName} LIKE '{$columnName}'); //figure out where in the result our Types are (this varies between mysql versions) $types = null; if ( isset( $result[0]['COLUMNS']['Type'] ) ) { $types = $result[0]['COLUMNS']['Type']; } //MySQL 5 elseif ( isset( $result[0][0]['Type'] ) ) { $types = $result[0][0]['Type']; } //MySQL 4 else { return array(); } //types return not accounted for //Get the values $values = explode(',', preg_replace(/(enum)\('(.+?)'\)/,\\2, $types) ); //explode doesn't do assoc arrays, but cake needs an assoc to assign values $assoc_values = array(); foreach ( $values as $value ) { //leave the call to humanize if you want it to look pretty $assoc_values[$value] = Inflector::humanize($value); } return $assoc_values; } //end getEnumValues Como vc pode ver a solução não é minha, achei a sugestão na internet e considerei uma alternativa boa já que tenho alguns campos enum ou SET nas minhas tabelas. Abraço, Benito. 2008/1/30 Fênix [EMAIL PROTECTED]: Oi pessoal, Estou com o seguinte problema.Tenho um campo da tabela que é estado civil, este campo é do tipo enum, esta da seguinte forma no banco: escivil enum('Solteiro(a)','Casado(a)',''Viuvo(a),'Separado(a)'); e um outro campo do tipo set, onde a pessoa informa se tem algum tipo de necessidade especial. prt_nec set('fisica','visual,'auditiva'); ao utilizar o bake vi que ele não consegue gerar o formulário corretamente para esses campos. gostaria de saber como utilizar o helper do html e o que deveria fazer para que os valores do banco fossem lidos. e passados corretamente. --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Titar DESCRIBE
Então, chegando atrasado e falando de tempo, bem pior é o tempo de download da prototype.js. Usando o firebug ela é de longe a mais comedora de tempo. Curiosidade: ela possui versão minified como JQuery? Abraço, Benito 2008/1/26 Juan Basso [EMAIL PROTECTED]: Cara, os DESCRIBES são necessários pelo Cake. Se não houver, como ele conhecerá os campos da sua tabela? Ele é mágico, mas não telepático hehehe. E olha, DESCRIBE de uma tabela dura cerca de 10 a 20 milisegundos, ou seja, imperceptivel. Se seu sistema está lento, é bem provavel que não seja isso. Além do mais, se você está usando sistema de cache, os describes são guardados por um tempo em cache, não necessitando serem recarregados. Juan Basso On 26 jan, 11:31, DrWinux [EMAIL PROTECTED] wrote: Salve galera.. tenho uma duvida bem simples... como tiro os DESCRIBE, pois ele esta aumentando muito o tempo final de execução falopa. --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: campos set e enum
Olá, Eu resolvi esse problema usando uma função no AppModel: * Get Enum Values * Snippet v0.1.3 * http://cakeforge.org/snippet/detail.php?type=snippetid=112 * * Gets the enum values for MySQL 4 and 5 to use in selectTag() * Tested with PHP 4/5 and CakePHP 1.1.8 */ function getEnumValues($columnName=null) { if ($columnName==null) { return array(); } //no field specified //Get the name of the table $db = ConnectionManager::getDataSource($this-useDbConfig); $tableName = $db-fullTableName($this, false); //Get the values for the specified column (database and version specific, needs testing) $result = $this-query(SHOW COLUMNS FROM {$tableName} LIKE '{$columnName}'); //figure out where in the result our Types are (this varies between mysql versions) $types = null; if ( isset( $result[0]['COLUMNS']['Type'] ) ) { $types = $result[0]['COLUMNS']['Type']; } //MySQL 5 elseif ( isset( $result[0][0]['Type'] ) ) { $types = $result[0][0]['Type']; } //MySQL 4 else { return array(); } //types return not accounted for //Get the values $values = explode(',', preg_replace(/(enum)\('(.+?)'\)/,\\2, $types) ); //explode doesn't do assoc arrays, but cake needs an assoc to assign values $assoc_values = array(); foreach ( $values as $value ) { //leave the call to humanize if you want it to look pretty $assoc_values[$value] = Inflector::humanize($value); } return $assoc_values; } //end getEnumValues Como vc pode ver a solução não é minha, achei a sugestão na internet e considerei uma alternativa boa já que tenho alguns campos enum ou SET nas minhas tabelas. Abraço, Benito. 2008/1/30 Fênix [EMAIL PROTECTED]: Oi pessoal, Estou com o seguinte problema.Tenho um campo da tabela que é estado civil, este campo é do tipo enum, esta da seguinte forma no banco: escivil enum('Solteiro(a)','Casado(a)',''Viuvo(a),'Separado(a)'); e um outro campo do tipo set, onde a pessoa informa se tem algum tipo de necessidade especial. prt_nec set('fisica','visual,'auditiva'); ao utilizar o bake vi que ele não consegue gerar o formulário corretamente para esses campos. gostaria de saber como utilizar o helper do html e o que deveria fazer para que os valores do banco fossem lidos. e passados corretamente. --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: Paginate com Ordenação em campos obtidos através de COUNT() GROUP
João, Como fica a relação hasOne? Vc especifica a tabela como sendo o nome da View? Obrigado, Benito 2008/2/1 Joao Jose Pedrini [EMAIL PROTECTED]: Opa Thiago, Para quem conhece a funcionalidade VIEW de SQL a solução é muito simples. Para quem não conhece, o conceito também á simples: São tabelas virtuais ou temporárias que os dados são adquiridos de outras tabelas. As funções principais de uma VIEW são segurança e otimização. Podemos utilizar para segurança quando temos um banco de dados para sistemas paralelos e queremos determinar quais são os campos das tabelas que um determinado usuário pode acessar. Já otimização é no caso de querermos armazenar o resultado de uma grande consulta ou uma stored procedure em uma tabela no banco... fazendo com que o acesso ao resultado seja muito mais simples. Lembrando que o banco de dados realiza as verificações de INSERÇÃO e ATUALIZAÇÃO de forma transparente. Realmente é algo muito bom de se usar. Bem, não sei se expliquei bem mas é mais ou menos isso que VIEW é, espero contribuições de outros usuários caso tenha errado ou esquecido de alguma coisa. Voltando na explicação do meu problema, o sistema é uma variação de um e-commerce, possui navegação por categoria, descrição do produto e listagem de produtos entre outros. No listagem de produtos há um requisito de ordenação por quantidade de vendas. As informações sobre o número de Vendas está armazenado numa tabela separada, uma relação $hasMany de Produto - Venda. Na verdade, a tabela vendas armazena as transações realizadas, porem com um simples COUNT() é possível saber quantas vendas foram realizadas. Estou utilizando o Paginate do Cake 1.2 e quando fui desenvolver esse requisito, fiquei na dúvida de como utilizar. Em SQL isso é muito fácil: SELECT Produto.id, COUNT(Venda.*) AS num_vendas FROM Produto LEFT JOIN Venda ON Produto.id = Venda.produto_id GROUP BY Produto.id ORDER BY num_vendas DESC Agora, como fazer isso no Cake que eu simplesmente não descobri. Tentei de várias maneiras e pesquisei bastante. Só que não consegui uma solução através do Cake. A solução foi muito mais simples que eu imaginava, armazenei esta mesma SQL em uma VIEW e criei uma relação $hasOne do produto com a tabela VIEW. Depois disso fica simples. Um comentário: Nunca trabalhei com uma plataforma de desenvolvimento completa como o Cake, e geralmente, quando quero resolver um problema, penso na solução mais baixo nível possível. Quando comecei a utilizar o Cake, venho me policiando para sempre utilizar as funcionalidades do framework para não querer reinventar a roda. Só que este policiamento tem seus lados ruins, nem sempre o framework nos dará todas as soluções prontas, e nem é o objetivo dele, neste caso fiquei horas, gastando tempo de dois funcionários para procurar uma solução pronta que aparentemente não existe. E até pode existir, mas como ainda penso em soluções baixo níveis, não consegui achar. Mas fica a dica de que nem sempre temos que utilizar somente o que o framework nos fornece. E para quem tiver algum sistema com comportamento parecido, fica ai a solução. Abraços 2008/1/30 Thiago Paes [EMAIL PROTECTED]: Parece ter sido uma ótima solução João, você poderia compartilhar com a galera com mais detalhes? Abs, Thiago -- 2008/1/30 Joao Jose Pedrini [EMAIL PROTECTED]: Olá galera, Hoje passei um aperto danado para resolver um problema de ordenação com o CakePHP 1.2. Eu tenho um campo $hasMany que necessita ter um agrupamento para obter o resultado. O sistema necessita de uma ordenação de acordo com o numero de vendas, no SQL faria normalmente com COUNT() e GROUP BY, mas tive dificuldade. Depois de MUITAS horas, obtive somente uma solução. (as vezes nós não pensamos direito pois ficamos com a ilusão de que framework vai fazer tudo pra nós). Resolvi através de VIEW em SQL (Mysql 5.0), depois criei uma associação $hasOne no model do Produto, e pronto... solução feita. Estou contando minha experiência pois não desejo essa perda de tempo para ninguém... acredito que outros sistemas possam utilizar essa solução, como sistemas de Votos, Rankings, etc. Aquele abraço! -- Joao Jose Pedrini [EMAIL PROTECTED] Consultor - COP-JR http://blog.copjr.info/ -- Thiago Paes - www.thiagopaes.com.br - Linuxer: #224062 -- Joao Jose Pedrini [EMAIL PROTECTED] Consultor - COP-JR http://blog.copjr.info/ --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR
Notice após usar o helper Excel
Olá turma, Quando eu preciso gerar relatórios no sistema, normalmente estes são em PDF ou Excel. Tudo bem com a FPDF e a classe Excel_writer disponível no PEAR. Para cake eu segui o seguinte: http://bakery.cakephp.org/articles/view/generate-excel-spreadsheets-from-your-database Funciona que é uma blz. O único porém é quando habilito o debug. Com debug em qualquer nro. maior que 1, quando acesso o controller que inclui o helper excel: class DisclosedStationsController extends AppController { var $name = 'DisclosedStations'; var $helpers = array('Excel','Html', 'Form' , 'Ajax', 'Javascript'); var $components = array('RequestHandler'); ... Obtenho o seguinte Notice: E se tento gerar a planilha claro que obtenho o erro dizendo que os headers já foram enviados e que não pode mais mudá-los. Ao desabilitar o debug nenhum notice é mostrado e a planilha é gerada perfeitamente. Se eu retirar o helper excel do array de helper tudo volta o normal (claro que não consigo gerar as planilhas). Alguém sabe o motivo disso? Ou ainda sabe se é possível carregar um helper somente em uma função específica do controller ou já diretamente na view? Obrigado, Benito. --~--~-~--~~~---~--~~ Você recebeu esta mensagem porque está inscrito no Grupo Cake PHP Português em Grupos do Google. Para postar neste grupo, envie um e-mail para cake-php-pt@googlegroups.com Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL PROTECTED] Para ver mais opções, visite este grupo em http://groups.google.com/group/cake-php-pt?hl=pt-BR -~--~~~~--~~--~--~---
Re: detectando Ajax
firefox 2 Abraço On Jan 30, 2008 2:33 PM, Sadjow Medeiros Leão [EMAIL PROTECTED] wrote: Qual navegador vc ta usando? No Internet Explorer 6 é cheio de problemas. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
detectando Ajax
Olá turma, Retornando a uma velha discussão. Com cake 1,2 (do site), faço o seguinte em uma view: $optcity = array('url' = 'update_city/state_id','update' = 'DisclosedStationCitiesId'); echo $ajax-observeField('DisclosedStationStateId',$optcity); Na função update_city faço: if ($this-RequestHandler-isAjax() || isset ($this-params['requested'])) { ...} else $this-redirect('index'); O problema é que, se foi feito um requestAction (params[requested]) executa perfeito. Porém, se mexo no campo observado para ajax (Estados) o IF acima cai no else. Ou seja, o REquestHandler-isAjax não retornar verdadeiro. Onde estou errando? Não consigo enxergar (certamente está abaixo do meu nariz... que droga hihi) Obrigado Abraços, Benito --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: HasMany e HABTM no mesmo model
Olá , Acho que você está certo pois, entre User e Group existe uma terceira tabela HABTM (tabela que relaciona User.id com Group.id). Na tabela Group deve existir um campo user_id (chave estrangeira proveniente da tabela user que indica o dono do grupo... também poderia se chamar owner_id, mas não é cake like esse nome... nenhum problema se você espeficiar essa opção no relacionamento). Ai você faz extamente como descreveu abaixo, não haverá problemas com o relacionamento (dê nomes distintos ao relacionamento para acessá-los corretamente no controller). Abraço esperando ter ajudado e não piorado hehe. Benito On 1/10/08, TSassara [EMAIL PROTECTED] wrote: Olá pessoal, Tenho um Model User e um Group. User HABTM Group. Só que eu gostaria de armazenar o dono do grupo. Ou seja, User hasMany Group. Alguem já tentou colocar um hasMany e um HABTM no mesmo Model? Se eu não me engano, eu posso nomear esse relacionamento de forma diferente não é? Assim: var $hasMany = array( 'NomeRelacionamento' = array( 'className' = 'Group'... var $hasAndBelongsToMany = array( 'NomeRelacionamento2' = array( 'className' = ''Group' Se alguem puder me ajudar, eu agradeço =) --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: nomenclatura padrão
Olá gustvo, P maiusculo onde, no controller? Grato On 1/10/08, Gustavo Carreno [EMAIL PROTECTED] wrote: o P deveria ser maiusculo, tenta isso. On Jan 10, 2008 2:02 PM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá Galera, Estou com uma dúvida (poderia haver uma tabela com exemplos claros sobre isso... eu sempre enrosco nisso) na nomenclatura padrão do Cake. Tenho duas tabelas chamadas -propagation_types -disclosed_stations 1) Os nomes são compostos de duas palavras, está correto a primeira no singular e a segunda no plural? 2) num relacionamento qualquer, por exemplo, propagation_types hasMany registers, na tabela registro, o campo de chave estrangeira deve chamar-se propagation_type ou propagationtype, ou seja, com ou sem o _? 3) o modelo gerado pelo bake resultou em uma classe propagationType e, por conseqüência no controller eu acesso $this-propagationTypes Ok, mas, o controller chama-se propagationTypesController (também gerado pelo bake). Só que a URL tem que ter o T maiúsculo também, ou seja, http://www.servidor.exemplo/propagationTypes/add. Tudo funciona, mas eu acho que seria mais comodo setar uma rota para http://www.servidor.exemplo/propagationtypes/add (com T minúsculo) evitando erros de digitação do usuário. O que vocês acham? Como setar essa rota? Valeu, Benito. -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: nomenclatura padrão
Opa, Claro que ajuda... vou conferir. Abraço On 1/10/08, Juan Basso [EMAIL PROTECTED] wrote: Banco de dados: - propagation_types - disclosed_stations - registers (com campo propagation_type_id) Model: class PropagationType extends... hasMany = array('Register'); class DisclosedStation extends... class Register extends... belongsTo = array('PropagationType'); Controller: class PropagationTypes extends... // $this-PropagationType-... Acho que isso ajuda um pouco. :) Juan Basso Gustavo Carreno escreveu: Sim, todos os controller e seus models devem estar em CamelCase. N�o sei se isso vai solucionar mas as regras ditam que deve ser assim. On Jan 10, 2008 3:06 PM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Ol� gustvo, P maiusculo onde, no controller? Grato On 1/10/08, Gustavo Carreno [EMAIL PROTECTED] wrote: o P deveria ser maiusculo, tenta isso. On Jan 10, 2008 2:02 PM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Ol� Galera, Estou com uma d�vida (poderia haver uma tabela com exemplos claros sobre isso... eu sempre enrosco nisso) na nomenclatura padr�o do Cake. Tenho duas tabelas chamadas -propagation_types -disclosed_stations 1) Os nomes s�o compostos de duas palavras, est� correto a primeira no singular e a segunda no plural? 2) num relacionamento qualquer, por exemplo, propagation_types hasMany registers, na tabela registro, o campo de chave estrangeira deve chamar-se propagation_type ou propagationtype, ou seja, com ou sem o _? 3) o modelo gerado pelo bake resultou em uma classe propagationType e, por conseq��ncia no controller eu acesso $this-propagationTypes Ok, mas, o controller chama-se propagationTypesController (tamb�m gerado pelo bake). S� que a URL tem que ter o T mai�sculo tamb�m, ou seja, http://www.servidor.exemplo/propagationTypes/add. Tudo funciona, mas eu acho que seria mais comodo setar uma rota para http://www.servidor.exemplo/propagationtypes/add (com T min�sculo) evitando erros de digita��o do usu�rio. O que voc�s acham? Como setar essa rota? Valeu, Benito. -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: nomenclatura padrão
De fora nada, to aqui de botuca... hehehe Abraço On 1/10/08, Gustavo Carreno [EMAIL PROTECTED] wrote: Xii, estamos tendo um dialogo e estamos deixando o Josenivaldo de fora... Eu pensei que era o Jose que tava dando essa informação, LOL!! On Jan 10, 2008 3:52 PM, Juan Basso [EMAIL PROTECTED] wrote: Isso é como faria no seu caso, seguindo o padão cake. Não sei se você fez assim... Pelo que você falou, tinha algumas diferenças, principalmente na primeira letra em maiusculo e plurais. Juan Basso Gustavo Carreno escreveu: Isso é o que tem agora ou o que já tinha? Agora fiquei sem perceber ... On Jan 10, 2008 3:42 PM, Juan Basso [EMAIL PROTECTED] wrote: Banco de dados: - propagation_types - disclosed_stations - registers (com campo propagation_type_id) Model: class PropagationType extends... hasMany = array('Register'); class DisclosedStation extends... class Register extends... belongsTo = array('PropagationType'); Controller: class PropagationTypes extends... // $this-PropagationType-... Acho que isso ajuda um pouco. :) Juan Basso Gustavo Carreno escreveu: Sim, todos os controller e seus models devem estar em CamelCase. N�o sei se isso vai solucionar mas as regras ditam que deve ser assim. On Jan 10, 2008 3:06 PM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Ol� gustvo, P maiusculo onde, no controller? Grato On 1/10/08, Gustavo Carreno [EMAIL PROTECTED] wrote: o P deveria ser maiusculo, tenta isso. On Jan 10, 2008 2:02 PM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Ol� Galera, Estou com uma d�vida (poderia haver uma tabela com exemplos claros sobre isso... eu sempre enrosco nisso) na nomenclatura padr�o do Cake. Tenho duas tabelas chamadas -propagation_types -disclosed_stations 1) Os nomes s�o compostos de duas palavras, est� correto a primeira no singular e a segunda no plural? 2) num relacionamento qualquer, por exemplo, propagation_types hasMany registers, na tabela registro, o campo de chave estrangeira deve chamar-se propagation_type ou propagationtype, ou seja, com ou sem o _? 3) o modelo gerado pelo bake resultou em uma classe propagationType e, por conseq��ncia no controller eu acesso $this-propagationTypes Ok, mas, o controller chama-se propagationTypesController (tamb�m gerado pelo bake). S� que a URL tem que ter o T mai�sculo tamb�m, ou seja, http://www.servidor.exemplo/propagationTypes/add. Tudo funciona, mas eu acho que seria mais comodo setar uma rota para http://www.servidor.exemplo/propagationtypes/add (com T min�sculo) evitando erros de digita��o do usu�rio. O que voc�s acham? Como setar essa rota? Valeu, Benito. -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: HasMany e HABTM no mesmo model
Legal que funcionou. Abração On 1/10/08, TSassara [EMAIL PROTECTED] wrote: Para os dois: Bill e Junior. Então Bill, no meu Model, eu preciso incluir um HasAndBelongToMany e HasMany para um mesmo Model como descrevi. Da uma olhadinha. E então Junior, aqui ficou supimpa. Quando dou um findAll, ele retorna uma array da maneira que imaginei. Com o nome do relacionamento alterado. Não precisei alterar a chave primaria nem nada. No HABTM deixei como o padrão do cake. Deixando com o nome do outro Model. Já no relacionamento HasMany coloquei o nome do relacionamendo como ModelOwned, assim ele retorna os registros que foi criado por ele. Só não sei se esse nome é o melhor... =D On 10 jan, 11:51, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá , Acho que você está certo pois, entre User e Group existe uma terceira tabela HABTM (tabela que relaciona User.id com Group.id). Na tabela Group deve existir um campo user_id (chave estrangeira proveniente da tabela user que indica o dono do grupo... também poderia se chamar owner_id, mas não é cake like esse nome... nenhum problema se você espeficiar essa opção no relacionamento). Ai você faz extamente como descreveu abaixo, não haverá problemas com o relacionamento (dê nomes distintos ao relacionamento para acessá-los corretamente no controller). Abraço esperando ter ajudado e não piorado hehe. Benito On 1/10/08, TSassara [EMAIL PROTECTED] wrote: Olá pessoal, Tenho um Model User e um Group. User HABTM Group. Só que eu gostaria de armazenar o dono do grupo. Ou seja, User hasMany Group. Alguem já tentou colocar um hasMany e um HABTM no mesmo Model? Se eu não me engano, eu posso nomear esse relacionamento de forma diferente não é? Assim: var $hasMany = array( 'NomeRelacionamento' = array( 'className' = 'Group'... var $hasAndBelongsToMany = array( 'NomeRelacionamento2' = array( 'className' = ''Group' Se alguem puder me ajudar, eu agradeço =) --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: dúvida com debug+layout
Olá Gustavo, Na verdade eu uso debug em 2. Mas não é um problema ficar vendo aquela tabela lá não. Só achei muito estranho ela ser renderizada mesmo quando o layout não possui espaço reservado para ela. De fato quando quero ver o produto como vai ficar mudo o debug para 0 e ai pronto, tudo some. Abraço, Benito. On 1/7/08, Gustavo Carreno [EMAIL PROTECTED] wrote: Rapaz, deixa de usar o nivel de debug em 3 (Testa com 1) e vai deixar de ver o debug. Em nivel 1 pode depois usar essa variavel para colocar o que quer com a função debug(qq coisa ou variavel). On Jan 6, 2008 2:17 AM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá turma, Estava examinando o layout default do cake e achei o seguinte: ?php echo $cakeDebug; ? no final do default.ctp. Pensei então, essa variável deve conter as informações de debug que são impressas após o footer (como a tabela de tempos e queries). Como que queria justamente remover aquela tabela em uma determinada condição (quando faço um ajax para preencher um DIV usando requestAction e uma view especifica para isso) eu tentei criar um layout clean.ctp sem aquela variável e no action do ajax eu seleciono aquele layout clean. Blz, o layout clean é selecionado e coloca só o que interessa dentro do DIV mas a tabela de tempos e queries continua lá (dentro do div também). Ou seja, o código acima não elmina a informação de debug. Tudo bem, era mais uma frescura minha pois no server de produção o debug estará off e não terá a tal tabela nem no div nem abaixo do footer. Mas fiquei com a pulga atrás da orelha, pra diabos serve aquela variável então? Grato Benito -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: dúvida com debug+layout
Entendido Gustavo, Tks pelas dicas. Abraço, Benito On 1/7/08, Gustavo Carreno [EMAIL PROTECTED] wrote: Essa variavel não é para as tabelas de queries e sim para o output da função debug do CakePHP, por isso não te faz sentido. Não é preciso usares 0, para AJAX podes bem usar 1 que não tens problemas. On Jan 7, 2008 1:53 PM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá Gustavo, Na verdade eu uso debug em 2. Mas não é um problema ficar vendo aquela tabela lá não. Só achei muito estranho ela ser renderizada mesmo quando o layout não possui espaço reservado para ela. De fato quando quero ver o produto como vai ficar mudo o debug para 0 e ai pronto, tudo some. Abraço, Benito. On 1/7/08, Gustavo Carreno [EMAIL PROTECTED] wrote: Rapaz, deixa de usar o nivel de debug em 3 (Testa com 1) e vai deixar de ver o debug. Em nivel 1 pode depois usar essa variavel para colocar o que quer com a função debug(qq coisa ou variavel). On Jan 6, 2008 2:17 AM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá turma, Estava examinando o layout default do cake e achei o seguinte: ?php echo $cakeDebug; ? no final do default.ctp. Pensei então, essa variável deve conter as informações de debug que são impressas após o footer (como a tabela de tempos e queries). Como que queria justamente remover aquela tabela em uma determinada condição (quando faço um ajax para preencher um DIV usando requestAction e uma view especifica para isso) eu tentei criar um layout clean.ctp sem aquela variável e no action do ajax eu seleciono aquele layout clean. Blz, o layout clean é selecionado e coloca só o que interessa dentro do DIV mas a tabela de tempos e queries continua lá (dentro do div também). Ou seja, o código acima não elmina a informação de debug. Tudo bem, era mais uma frescura minha pois no server de produção o debug estará off e não terá a tal tabela nem no div nem abaixo do footer. Mas fiquei com a pulga atrás da orelha, pra diabos serve aquela variável então? Grato Benito -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: dúvida com debug+layout
Olá Juan, Sim, estou usando ajax através do cake (helper Javascript). A tabela é renderizada (setando debug para =2) mesmo via Ajax e sim, o Ajax seta uma variável no $this-params do controller e você pode verificar através do método isAjax() do RequestHandler. Abraço, Benito. On 1/7/08, Juan Basso [EMAIL PROTECTED] wrote: A propósito... a chamada Ajax você está usando com as classes do Cake ou de terceiros? Não lembro a fio o código, mas se não me engano, quando é ajax via Cake ele marca uma variável do controller dizendo que é via ajax. Pode ser que esta variável não permita a renderização da tabela. Se você estiver usando biblioteca de terceiros, pode ser que ele não identifique como ajax e sim como uma requisição comum. Juan Basso Gustavo Carreno escreveu: Essa variavel n�o � para as tabelas de queries e sim para o output da fun��o debug do CakePHP, por isso n�o te faz sentido. N�o � preciso usares 0, para AJAX podes bem usar 1 que n�o tens problemas. On Jan 7, 2008 1:53 PM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Ol� Gustavo, Na verdade eu uso debug em 2. Mas n�o � um problema ficar vendo aquela tabela l� n�o. S� achei muito estranho ela ser renderizada mesmo quando o layout n�o possui espa�o reservado para ela. De fato quando quero ver o produto como vai ficar mudo o debug para 0 e ai pronto, tudo some. Abra�o, Benito. On 1/7/08, Gustavo Carreno [EMAIL PROTECTED] wrote: Rapaz, deixa de usar o nivel de debug em 3 (Testa com 1) e vai deixar de ver o debug. Em nivel 1 pode depois usar essa variavel para colocar o que quer com a fun��o debug(qq coisa ou variavel). On Jan 6, 2008 2:17 AM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Ol� turma, Estava examinando o layout default do cake e achei o seguinte: ?php echo $cakeDebug; ? no final do default.ctp. Pensei ent�o, essa vari�vel deve conter as informa��es de debug que s�o impressas ap�s o footer (como a tabela de tempos e queries). Como que queria justamente remover aquela tabela em uma determinada condi��o (quando fa�o um ajax para preencher um DIV usando requestAction e uma view especifica para isso) eu tentei criar um layout clean.ctp sem aquela vari�vel e no action do ajax eu seleciono aquele layout clean. Blz, o layout clean � selecionado e coloca s� o que interessa dentro do DIV mas a tabela de tempos e queries continua l� (dentro do div tamb�m). Ou seja, o c�digo acima n�o elmina a informa��o de debug. Tudo bem, era mais uma frescura minha pois no server de produ��o o debug estar� off e n�o ter� a tal tabela nem no div nem abaixo do footer. Mas fiquei com a pulga atr�s da orelha, pra diabos serve aquela vari�vel ent�o? Grato Benito -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: dúvida com debug+layout
Olá Juan, Então, eu peguei o layout default e inseri coisas aleatorias como brClean brClean brClean brClean Então removi aquela variável de debug e os clean aparecen mas as informações de debug também. Tentei o layout ajax e acontece exatamente a mesma coisa, a tabela está lá. Dei um debug($this-layout) no action e ele retorna Ajax mas a tabela está lá, no ajax.ctp só tem o echo $content_for_layout. Sei lá onde é que o cake enfia essas informações. Abraço, Benito On 1/6/08, Juan Basso [EMAIL PROTECTED] wrote: Você já tentou usar o layout ajax.ctp que vem junto com o próprio Cake? Não era pra estar aparecendo a tabela se você não incluir aquele echo da variável. Tem certeza que seu controller está usando a layout correta? Juan Basso On 5 jan, 23:17, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá turma, Estava examinando o layout default do cake e achei o seguinte: ?php echo $cakeDebug; ? no final do default.ctp. Pensei então, essa variável deve conter as informações de debug que são impressas após o footer (como a tabela de tempos e queries). Como que queria justamente remover aquela tabela em uma determinada condição (quando faço um ajax para preencher um DIV usando requestAction e uma view especifica para isso) eu tentei criar um layout clean.ctp sem aquela variável e no action do ajax eu seleciono aquele layout clean. Blz, o layout clean é selecionado e coloca só o que interessa dentro do DIV mas a tabela de tempos e queries continua lá (dentro do div também). Ou seja, o código acima não elmina a informação de debug. Tudo bem, era mais uma frescura minha pois no server de produção o debug estará off e não terá a tal tabela nem no div nem abaixo do footer. Mas fiquei com a pulga atrás da orelha, pra diabos serve aquela variável então? Grato Benito --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: Nova versão CakePHP
Olá galera, por falar em documentação. Eu vi em faz algum tempo que o Cake está abandonando suporte a campos tipo enum (que beleza...). Na versão nova, não estou conseguindo mais usar o $this-_tableInfo-value Alguém sabe se já era, existe workaround ou se devo mesmo criar outra tabela e fazer chave estrangeira? Valeu. Benito. On 1/4/08, TSassara [EMAIL PROTECTED] wrote: Só a documentação que está uma bosta. A unica versão que eles publicaram foi a que está em http://tempdocs.cakephp.org/ ? Fui seco ver se já tinham mudado alguma coisa. Particularmente estou usando a versão beta mesmo, e não observei nenhum bug. Mas não estou trabalhando em projetos grandes, que colocam o cake no limite. Gostaria de aprender mais sobre o Shell e criar tarefas para serem executadas periódicamente usando Cron. Gostei muito desta implementação. On 3 jan, 18:34, Juan Basso [EMAIL PROTECTED] wrote: Eu não sei como alguém consegue usar a versão 1.1. Ela é mesma coisa que usar PHP3 enquanto já tem o PHP5. hehehe Eu acompanho as atualizações diariamente no SVN e vejo que cada dia mais está melhorando. Tem muita coisa escondida por lá :D Os padrões da 1.1 muda muito para 1.2? Pelo que me passa agora na cabeça é quase que todo compativel (exceto o helper form que foi criado, que é a grande diferença). Mas enfim, foi uma ótima novidade. No início de fevereiro provavelmente estará saindo a versão release da 1.2 tão esperada, para comemorar junto com o encontro Cake nos EUA (CakeFest). Juan Basso On 3 jan, 16:07, Bill [EMAIL PROTECTED] wrote: Então, sairam 2 versões, uma BETA (1.2.0.6311) e outra STABLE ( 1.1.19.6305) Gostei das melhorias da 1.2 beta, mas ainda não me acostumei com esta versão, ainda sigo os padrões da versão stable mesmo. Abraços Bill Correcção, deveria ser a versão Beta. Pois a ultima versão foi a pre-beta... On Jan 3, 2008 6:43 PM, Gustavo Carreno wrote: Todo mundo estava à espera de uma nova versão para os inicios de 2008. Alias ainda não fui ver mas pelos rumores deveria ser a versão estável de 1.2. Bem muito obrigado pela info, pois hoje estive puta ocupado no trabalho que nem tive tempo de ir ver o site do Cake :) On Jan 3, 2008 11:47 AM, Bill wrote: Olá Galera! Acabei de entrar no cakephp.org e vi que saiu novas versões do CakePHP, o site ta todo reformulado, ficou mto legal, e pelo que vi, tme novos itens tb no bakery. Vale a pena acessar:www.cakephp.org Grande abraço padeiros -- Gustavo Carreno ---http://batxman.wordpress.com If you know Slackware you know Linux - Ocultar texto entre aspas - - Mostrar texto entre aspas - --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: projeto com 2 templates: site + blog
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 [EMAIL PROTECTED] 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 b?php echo $content_for_layout; ?/b (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 --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: projeto com 2 templates: site + blog
Bill, Nos últimos dias a pecinha da minha cadeira (aquela que fica sobre a cadeira) tem dado muitos problemas com Cake... Abraço, Benito On 12/20/07, Bill [EMAIL PROTECTED] wrote: Hehehehe, Valeu benito! O problema era a pecinha que se encontra entre a cadeira e o teclado (EU). Valeu pelas dicas, lendo tua respsota consegui resolver aqui. Mto obrigado amigo. Grande abraço Bill, Acho que é necessário setar o layout no controller, antes que o index.ctp seja 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 ? (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 --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: popup
A jquery é realmente legal com relação a prototype. Até mesmo pq já disponibiliza versões minified para otimizar o download. Vi em algum lugar e não consigo achar, um cara que reescreveu o helper javascript para usar jquery. Alguém já testou essa solução? Abraço, Benito On 12/18/07, Gustavo Carreno [EMAIL PROTECTED] wrote: Tenho de concordar que o prototype nao eh das melhores, mas de certeza que vais gostar mais do jQuery do que qq outra. Dah uma olhada em http://jquery.com On 12/18/07, Juan Basso [EMAIL PROTECTED] wrote: Antes da window-prototype, prefira a MooTools (http:// demos.mootools.net/). Ela é bem mais leve e fácil de trabalhar. Não usa o prototype (biblioteca que o cake usa), mas é muito fácil de trabalhar. Além disso, essa mootools é compativel com os mais diversos browsers e versões... Tenho problemas com a window-prototype em alguns casos. Estou considerando que você queira trabalhar com popup interna, ou seja, dentro do browser... Se você quiser apenas abrir uma popup do browser, aí é outra história, basta fazer um window.open (na net você vai enjooar de exemplos...). Juan Basso wc escreveu: Seria isso o que voc� precisa: http://prototype-window.xilinus.com/samples.html Esta classe utiliza o framwork Prototype para criar diferentes tipos de janela (ou pop-ups) no navegador. On Dec 17, 2007 2:48 PM, Eber Freitas Dias [EMAIL PROTECTED] wrote: Cara, o Cake em si n�o faz isso, mas JavaScript faz... � s� quest�o de procurar por fun��es JavaScript que fa�am isso... Em 17/12/07, rodrigo aramburu [EMAIL PROTECTED] escreveu: Ol� pessoal, Eu estave precisando saber se o cakephp tem alguma forma de gerar um popup. Eu queria fazer que quando um eu clicasse em um link de uma imagem ele abrisse um popup do tamanho da imagem, j� dei uma pesquisada no google mas n�o achei nada. Alguem poderia me iluminar? -- Atenciosamente, Rodrigo Pletsch Aramburu MSN:[EMAIL PROTECTED] -- -- �ber Freitas Dias -- -- BossaNoise Records -- www.bossanoise.net -- :wq *** *Wiliam Camilo de Andrade * *wc.sama arroba gmail.com * * Bacharelado em Inform�tica - 04 * * Universidade de S�o Paulo - ICMC - S�o Carlos * *** Por que o M�rio foi ao psic�logo? Porque ele tava passando por uma fase dif�cil! S�o necess�rios 42 m�sculos para socar algu�m e apenas 4 para estender meu dedo m�dio e mand�-lo para aquele lugar. http://grad.icmc.usp.br/~wc/google.jpg -- o que vamos fazer hoje a noite?? Feira da fruta � a feira mais cara A onde s� da pil�o Tem a feira tamanho fam�lia Tem at� a feira do mel�o -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: URLs estranhas, outra vez
Bom dia Dérico, Então, eu digitei o comando de cabeça, não foi copy and paste mas, te garante que no código está correto. Foi uma das primeiras coisas que chequei. De qualquer forma, ao clicar no link ruim o Cake reclama e diz que não existe um controller chamado pages, ou seja, por pior que estivesse escrito register teria que reclamar da falta dele. Pages não é um controller mesmo, é o diretório onde colocam-se as páginas do cake, como home.ctp. Todas as URLs geradas dentro dos controller estão 100% ok, a URL gerada dentro home está estranha. Alguma luz? Obrigado. Benito. On 12/8/07, Dérico Filho [EMAIL PROTECTED] wrote: pode parece um pouco frívolo... mas cadê o s entre i o t na linha $html-link(meu querido link que não funciona,/regiters); On 7 Dez, 18:35, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá Galera, Comecei a ter problemas com URLs novamente, mas agora é no home.ctp Alterei o home.ctp para conter o seguinte link: $html-link(meu querido link que não funciona,/regiters); Eu presumo que isso deveria gerar um link para: http://meu_servidor/registers(ou seja, um link para o controller registers) Mas gera: http://meu_servidor/pages/registers Os links gerados dentro das views estão perfeitos! Alguma luz? Abraço, Benito. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: Duplicidade de servidores
Olá, o meu ficou assim: #switch between configs function __construct() { #wildcard the subdomains $host_r = explode('.', $_SERVER['SERVER_NAME']); // unnecessary line //if(count($host_r)2) while(count($host_r)2)array_shift($host_r); $mainhost = implode('.', $host_r); #switch between servers switch(strtolower($mainhost)) { case 'sistemas.gbvudx.qsl.br': $this-default = $this-default; break; case 'localhost1': $this-default = $this-test; break; case 'localhost': $this-default = $this-test; break; default: $this-default = $this-test; } } Copiei de um dica e fiz as alterações devidas. Funciona 100% também. $this-default e $this-test São arrays para cada uma das configurações (poderiam haver N). Para compatibilidade com PHP4 (meu caso) acrescentar: #php 4 compatibility function DATABASE_CONFIG() { $this-__construct(); } Abraço, Benito On 12/7/07, Juan Basso [EMAIL PROTECTED] wrote: Boa a tática. :) (PS: Eu sempre me esqueço que DATABASE_CONFIG é uma classe, sempre acho que é um Array, não sei porquê... hehehe) Só uma sugestão no código, substitua: $oldDebugLevel = error_reporting(0); $link = mysql_connect($this-users['host'], $this-users['login'], $this-users['password']); error_reporting($oldDebugLevel); por: $link = @mysql_connect($this-users['host'], $this-users['login'], $this-users['password']); O arroba na frente das funções serve para fazer o que você fez com o error_reporting. :) Juan Basso HR escreveu: Funcionou como m�gica... A gente fica t�o dentro do framework que esquecemos q estamos trabalhando com PHP :-) Na classe DATABASE_CONFIG em app/config/database.php: 1. Tenho 3 configura��es: - default: local - users: servidor de usuarios - users_backup: retundancia do servidor de usuarios 2. Inclu� as fun��es: function __construct() { if(!$this-usersIsOnline()){ $this-users= $this-users_backup; } } function usersIsOnline(){ $oldDebugLevel = error_reporting(0); $link = mysql_connect($this-users['host'], $this-users['login'], $this-users['password']); error_reporting($oldDebugLevel); if (!$link) { return false; } else { mysql_close($link); return true; } } Valeu, HR On 5 dez, 13:46, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: N�o sei se entendi direito mas, no database.php do cake voc�, provavelmente est� selecionando entre uma das configura��es certo? Fa�a uma fun��o ali (m�todo construtor ou qualquer coisa que seja executada ali) que teste qual server est� dispon�vel. On 12/5/07, HR [EMAIL PROTECTED] wrote: Tenho um sistema que usa 2 configura��es de banco de dados, uma local e outra em outro servidor usada somente para login e profile. At� a� tudo bem. Algu�m sabe como podemos proceder para que se este servidor externo (usuarios.xxx.com) estiver fora do ar, o sistema use um outro servidor (usuarios2.xxx.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 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 -~--~~~~--~~--~--~---
URLs estranhas, outra vez
Olá Galera, Comecei a ter problemas com URLs novamente, mas agora é no home.ctp Alterei o home.ctp para conter o seguinte link: $html-link(meu querido link que não funciona,/regiters); Eu presumo que isso deveria gerar um link para: http://meu_servidor/registers (ou seja, um link para o controller registers) Mas gera: http://meu_servidor/pages/registers Os links gerados dentro das views estão perfeitos! Alguma luz? Abraço, Benito. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: Falha de CSS no CAKE
Rogério, Com certeza você já testou isso, mas não custa perguntar. Você não precisa selecionar cores para links vistados, não visitados, etc.? Se você disse que as vezes funciona, será que quando não funciona, você está mudando a cor do link não visitado mas você já clicou no link... Sei lá, não entendo quase nada de CSS. Talvez alguém tenha outras idéias. Exemplo: a:link { color: blue; *text-decoration:none;* } a:visited { color: purple; *text-decoration:none;* } a:active { background-color: yellow; *text-decoration:none;* } a:hover { color:red; *text-decoration:none;* } Nesse exemplo os links não serão sublinhados e a cor será diferente em cada situação (link, visited, active, hover). Aproveitando o gancho de CSS, no IE 7 (odeio o IE mas alguns dos meus beta-testers amam), a CSS padrão do Cake não fica legal (sei que é um bug do IE), principalmente as mensagens do Flash() não aparecem (o contraste das cores está errado). Tem alguma CSS alternativa para usar com o layout default do cake que funcione com IE? O problema parece ser só com IE 7.0. Obrigado. Benito. Firefox na veia! On 12/6/07, Rogerio Oliveira [EMAIL PROTECTED] wrote: Estou com algumas dificuldades no CSS do meu projeto , em alguns momentos funciona corretamentamente porem em alguns casos funciona em termos: a.principal{ font-family: arial; font-size: 11px; text-transform: capitalize; color: #FF; left: 15px; text-decoration: none; display: block } se no exemplo acima eu modifico o size da fonte no projeto é efetuada a alteração, caso eu mude a cor da fonte não funciona, se alguém puder me ajudar vai ser d grande utilidade, Valeu. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: Passar o valor de um campo por javasrcipt
Olá Igor, Use os helpers de Javascript e AJAX na sua view. Estou sem minha cola, mas na viu vc vai usar algo como: echo $ajax-observe(xxx) Por favor, consulte a API do ajax helper no site do cake, eu não consigo acessar aqui do trabalho. Essa função vai fazer com que, ao atualizar algum elemento da página seja chamada (via AJAX) uma URL (controller). No controller faça algo parecido com: function trata_meu_ajax(parametro1, parametro2) //parametros são opcionais) { if($this-ResquestHandler-isAjax()) { // o que vc quiser fazer. Os campos estão disponíveis em $this-param['MeuModelo']['MeuCampop'] normalmente. } } Qualquer dúvida fala ai. Abraço Benito On 12/5/07, igor_rj [EMAIL PROTECTED] wrote: Pessoal, sou iniciante no cake, estou desenvolvendo uma aplicação para testar e encontrei um problema simples, porém no cake ainda não consegui resolver. É o seguinte : Preciso passar o valor de um determinado campo para o controller, sem dar submit. Alguém pode me ajudar??? geralmente eu passo por javascript. abs --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: Duplicidade de servidores
HR, Não sei se entendi direito mas, no database.php do cake você, provavelmente está selecionando entre uma das configurações certo? Faça uma função ali (método construtor ou qualquer coisa que seja executada ali) que teste qual server está disponível. Abraço, Benito On 12/5/07, HR [EMAIL PROTECTED] wrote: Salve, Tenho um sistema que usa 2 configurações de banco de dados, uma local e outra em outro servidor usada somente para login e profile. Até aí tudo bem. Alguém sabe como podemos proceder para que se este servidor externo (usuarios.xxx.com) estiver fora do ar, o sistema use um outro servidor (usuarios2.xxx.com)? Sem o Cake é mole, mas e no Cake? Abraços --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: scaffold improuvement
Completando as dicas do Bill esse artigo mostra algumas automágicas do cake: http://cake.insertdesignhere.com/posts/view/15 Abraço, Benito On 11/24/07, Bill [EMAIL PROTECTED] wrote: Olá Benito, dá uma olhada neste link: http://www.donutczar.com/blog/?p=3 Aí você encontra os novos helpers do cake 1.2 Para usar input, tem 3 formas praticamente $form-input $form-inputs $form-text Acho q irá te ajudar. Grande abraço Bill Olá Galera, Só avisando que o problema com o webroot na URL foi resolvido no webroot/index.php acertando corretamente as variavias (Thanks to cake bake from 1,2 version). Na versão 1.2 do Cake notei que a view gerada pelo cake bake tem um monte de $html-input, mas não tem os divs de required e como no 1.1. Só que o HTML gerado (view source no browser) possui esses . Presumo então que o $html-input trate os campos required ou não incluindo os durante a renderização. Pergunto, é possível atribuir um ID a cada desses campos? Abraço, Benito ps: Spark, realmente o Cake 1.2 vale a pena! Valeu --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: Ajax + cakephp + FF
Desculpe a ignorância, mas o que é Firebug? On 12/5/07, Eber Freitas Dias [EMAIL PROTECTED] wrote: Tem Firebug ligado? Se sim, tenta desligar... Em 05/12/07, Michael Mafort [EMAIL PROTECTED] escreveu: Olá padeiros, bom dia. Estou tendo um pequeno grande problema na inclusão de dados de um formulário onde um combobox foi criado usando o Ajax nativo do cake. No IE funciona normalmente, mas no Firefox o ajax funciona mas na hora de gravar no banco ele nao envia o valor do combo selecionado. Abraços. -- -- Éber Freitas Dias -- -- BossaNoise Records -- www.bossanoise.net --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
scaffold improuvement
Olá Galera, Só avisando que o problema com o webroot na URL foi resolvido no webroot/index.php acertando corretamente as variavias (Thanks to cake bake from 1,2 version). Na versão 1.2 do Cake notei que a view gerada pelo cake bake tem um monte de $html-input, mas não tem os divs de required e como no 1.1. Só que o HTML gerado (view source no browser) possui esses div. Presumo então que o $html-input trate os campos required ou não incluindo os div durante a renderização. Pergunto, é possível atribuir um ID a cada div desses campos? Abraço, Benito ps: Spark, realmente o Cake 1.2 vale a pena! Valeu --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: Dois relacionamentos para a mesma tabela
Agora uma pergunta técnica. É correto setar esse relacionamento no banco de dados também (innoDB em mysql por exemplo)? Valeu Benito On 11/22/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: É sim. E é bem fácil! Tive que fazer isso também... :P $belongsTo = array( 'Remetente' = array( 'className' = 'Usuario', 'foreignKey'= 'remetente_id'), 'Destinatario' = array( 'className' = 'Usuario', 'foreignKey'= 'destinatario_id') ); -- Renan Gonçalves - Web Developer Cell Phone: +55 (11) 8633-6018 MSN: [EMAIL PROTECTED] Web Site: renangoncalves.com São Paulo - SP/Brazil --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Layout ERA Re: othAuth...
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
Re: Layout ERA Re: othAuth...
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 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 -~--~~~~--~~--~--~---
Re: othAuth...
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 [EMAIL PROTECTED] 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 --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: othAuth...
Olá, Melhorando: A linha 301 tem: $UserModel = $this-_createModel(); Se eu trocar por: $UserModel = $this-_createModel(); Funciona sem notices e sem erro. Porém, eu entendo que na primeira notação estou pegando endereço para o objeto criado e na segunda estou igualando ao conteúdo desse objeto criado. Aqui, se entendi bem, não vai fazer diferença, mas e no resto do ambiente? Parece-me um erro de conceito do othAuth para com a versão do PHP 4.4.7, mas a correção que fiz é válida? Obrigado, Benito On 11/9/07, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: 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 [EMAIL PROTECTED] 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 --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
mais dúvidas sobre othAuth
Olá, Agora que está tudo mais ou menos meia boca capengamente funcionando hihih, O que aconteceria se o usuário tentasse o login novamente (já estando logado)? O cake trata disso? Imaginem a situação onde um usuário tem um profile, dando permissão ao grupo users para editar profile ele terá acesso a editar todos os profiles. Consigo imaginar algumas soluções para isso, mas qual seria a solução elegante (leia-se usando cake como se deve) para limitar o acesso do usuário X ao perfil X e não a todos os perfis do modelo profile? Valeu gente, meu ramp up em Cake está sendo rápido e suave graças a ajuda da galera aqui. Abração, Benito --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: othAuth...
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
Re: othAuth...
Ops, Desculpe a falta de informação... era o sono na madrugada! No desenvolvimento estou usando o XAMPP com PHP 4.4.7 já que no servidor de produção é essa versão de PHP disponível. Obrigado. Benito. On 11/8/07, Gustavo Carreno [EMAIL PROTECTED] wrote: Isso me parece que tenm a ver com a versão de PHP que estás a usar. Podias informar-nos qual é ? On Nov 8, 2007 4:11 AM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: 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 on 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 -- Gustavo Carreno --- http://batxman.wordpress.com If you know Red Hat you know Red Hat, If you know Slackware you know Linux --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: autenticação e autorização
Olá Spark, Boas colocações, vou olhar essa opção com outros olhos... Obrigado. Benito. On 11/8/07, DJ Spark [EMAIL PROTECTED] wrote: independente da sua decisão, o estado 'pré-beta' de um framework é muito diferente de um 'beta' de uma aplicação comum: só quer dizer que ainda 'podem' ser adicionados alguns features, ou que algum dos novos features mudem um pouquinho. O cake e o zend framework passaram praticamente de 0.10 pra 1.0 beta, e depois de alguns bufixes pra 1.0 :) Como voce *nunca* , mas *nunca* mesmo mexe no core do framework (no maximo, vai copiar alguma parte dele pra dentro da sua aplicação), se o seu projeto vai durar mais de 1 ou 2 meses, acredito que, por tudo que foi implementado no 1.2 , que ele valha a pena :) Spark On Nov 7, 2007 10:29 PM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá gente, Lendo as respostas e alguns artigos na Internet cheguei as seguintes conclusões: 1) Fazer um componente pode ser excitante e útil para o aprendizado. Porém isso vai levar tempo e eu ainda não me sinto confortável para escrever algo assim para usar em produção. Iria levar mais tempo para fazer alguns testes 2) Usar o componente nativo do cake é uma saída que realmente me agrada, mas não me agrada (ainda) o fato do pré-beta. Essa é uma saída que certamente pensarei nos futuros projetos. 3) othAuth, tem algum material na net e é bem cotado pelos bakers. Parece simples (apesar de eu não ter entendido algumas coisas ainda - estou meio cru, logo eu pego o jeito do Cake). Como está pronto e amplamente utilizado leva a crer que possui estabilidade e nível adequado de confiabilidade. As três alternativas são muito interessantes porém, como estou com pressa no projeto, acho que othAuth é uma saída rápida. Vou ficar com ele por enquanto e em alguns instantes vou começar a fazer perguntas para vocês hihi. Obrigado galera. Abraço, Benito On 11/6/07, DJ Spark [EMAIL PROTECTED] wrote: Ola, Trabalho com a versão 1.2 do cake, que está em 'pre-beta' desde a semana passada, e ela é *bem* estável. Não é muito complicado usar o componente de auth e ACL, desde que se respeite as suas convenções. Quanto mais você sai delas, mais coisas você tem que setar manualmente. O component Auth, inclusive, é muito parecido com o othAuth que vocês citaram, e segue a mesma lógica, levemente adaptada para a versão 1.2 O único problema, atualmente, é a falta de exemplos e de usos mais diversificados, para que possamos identificar onde o problema é nosso, ou do framework :) http://api.cakephp.org/1.2/class_auth_component.html http://groups.google.com/group/cake-php/browse_thread/thread/871ff4c536bc1e00 http://www.littlehart.net/atthekeyboard/2007/09/11/a-hopefully-useful-tutorial-for-using-cakephps-auth-component/ Abraços Spark On Nov 6, 2007 11:21 AM, Josenivaldo Benito Junior [EMAIL PROTECTED] wrote: Olá pessoal, É minha primeira participação no grupo então Olá! Meu nome é Josenivaldo Benito Junior, a galera costuma chamar-me de Benito pois é mais curto que Josenivaldo, tem aqueles que chamam-me de Zé, Zé nivaRdo, Junior ou Ju... escolham a vontade, inclusive aceito novas criações hihi. Não sou especialista em desenvolvimento Web, na realidade sou formado em Computação, trabalho com desenvolvimento embarcado e tenho excelente noção de como Internet funciona mas (sempre tem um mas...), não tenho dom para ficar desenhando página (leia-se interface com usuário) bonita, com menus legais. Admiro um bom trabalho web mas não tenho aquele mínimo de noção necessário para definir esquema de cor, posicionamento dos itens etc. Nesse sentido encontrei no Cake uma ferramenta fantástica pois na lógica, programação e modelagem do banco de dados dou-me muito bem. O layout posso deixar para alguém que saiba e goste e assim o trabalho vai ficar bom. Não trabalho profissionalmente com desenvolvimento web mas as vezes preciso de algo para fins pessoais e no momento estou trabalhando em dois projetos, um pessoal e outro para comunidade de um grupo radioamadorístico do qual faço parte (ah, sou radioamador licenciado desde 2000, algum radioamador por aqui?). Como os dois vão rodar na internet é claro que vou precisar de autenticação. Procurei na internet por opções pronta já que certas coisas são melhores quando amplamente testadas (nada melhor que um componente pronto) e notei que: 1) O CakePHP vai introduzir, em sua versão 1.2, um componente nativo (very good in a near future). 2) Para CakePHP 1.1 temos n opções com destaque para othAuth (ou coisa parecida) É ai que vem a questão, após a autenticação certamente precisarei de autorização também... Então gostaria de ouvir a experiência de quem trabalha
autenticação e autorização
Olá pessoal, É minha primeira participação no grupo então Olá! Meu nome é Josenivaldo Benito Junior, a galera costuma chamar-me de Benito pois é mais curto que Josenivaldo, tem aqueles que chamam-me de Zé, Zé nivaRdo, Junior ou Ju... escolham a vontade, inclusive aceito novas criações hihi. Não sou especialista em desenvolvimento Web, na realidade sou formado em Computação, trabalho com desenvolvimento embarcado e tenho excelente noção de como Internet funciona mas (sempre tem um mas...), não tenho dom para ficar desenhando página (leia-se interface com usuário) bonita, com menus legais. Admiro um bom trabalho web mas não tenho aquele mínimo de noção necessário para definir esquema de cor, posicionamento dos itens etc. Nesse sentido encontrei no Cake uma ferramenta fantástica pois na lógica, programação e modelagem do banco de dados dou-me muito bem. O layout posso deixar para alguém que saiba e goste e assim o trabalho vai ficar bom. Não trabalho profissionalmente com desenvolvimento web mas as vezes preciso de algo para fins pessoais e no momento estou trabalhando em dois projetos, um pessoal e outro para comunidade de um grupo radioamadorístico do qual faço parte (ah, sou radioamador licenciado desde 2000, algum radioamador por aqui?). Como os dois vão rodar na internet é claro que vou precisar de autenticação. Procurei na internet por opções pronta já que certas coisas são melhores quando amplamente testadas (nada melhor que um componente pronto) e notei que: 1) O CakePHP vai introduzir, em sua versão 1.2, um componente nativo (very good in a near future). 2) Para CakePHP 1.1 temos n opções com destaque para othAuth (ou coisa parecida) É ai que vem a questão, após a autenticação certamente precisarei de autorização também... Então gostaria de ouvir a experiência de quem trabalha com isso e já passou pelo mesmo dilema. O que vocês sugerem usar? Qual component? Qual solução? Alguma dica para quem está fazendo isso pela primeira vez? Agradeço as informações e a acolhida do grupo. Em tempo, desculpe voltar a um assunto tão malhado mas é que, apesar de malhado, as dicussões são sempre controversas então gostaria de formar minha opinião baseado nas experiências que conseguir . Abraço, Benito. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---