Marcio Trindade

Artigos

Resultados em tabelas com cakePHP

Ontem o Jean Carlos me perguntou se eu tinha algum plugin para mostrar resultados em colunas no cakePHP assim como eu fiz para o Ruby on Rails veja aqui.

O grande problema de fazer esse plugin para o cakePHP é a minha falta de conhecimento com o PHP Já faz um tempo que não estudo PHP e até onde me lembre não da para passar um bloco de código como parâmetro, então só fiz uma forma simples para ser usado no meio da view e passei para ele. Veja código abaixo:


Aplicação base part 1

Hoje vou começar um tutorial de como criar uma aplicação a partir do base_app que fiz para o cakephp citado neste post.

Primeiros passos

Para iniciar o projeto basta seguir os passos abaixo:


Cake on Rails

Como a maioria já deve saber em Janeiro foi lançada a versão estável do cakePHP 1.2. Depois deste lançamento eu procurei dentro do github por cakePHP e acabei encontrando o projeto do Joel Moss onde ele havia importado importado o SVN para GIT. Então não tive mais dúvidas, fiz um fork do projeto e comecei as minhas modificações sobre o mesmo. O que mudei não foi muita coisa, vou tentar explicar o que foi feito aqui em baixo.



Piscina no escritório

Como alguns já sabem estou trabalhando na Dburns Design. Uma empresa com a sede no Estados Unidos e com isso eu pude implementar uma filosofia de trabalho um pouco diferente do que nós brasileiros estamos acostumados. Segue uma lista de coisas que para nós é normal, mas para outros pode ser um pouco estranho:


Gist to Mephisto

Como último projeto opensource do ano resolvi publicar um teste que estive fazendo com Mephisto. Tentei criar um plugin (filtered_column_gist_macro) a fim de facilitar a vida de quem usa Gist e Mephisto.

O Resultado não foi exatamente como o esperado, por que utilizei o filtro do Mephisto, que quando salva um artigo aplica este filtro e salva o HTML final na tabela, deste modo você acaba perdendo o principal poder do Gist de atualizar códigos sem precisar mexer no seu post. Para solucionar este problema pretendo no ano que vem escrever outro plugin que vai ser uma extension para liquid e ai sim na hora de mostrar o post eu vou fazer a requisição ao gist.


Show in colums

Este é o primeiro plugin para Ruby on Rails que fiz! É simplesmente um helper que facilita o trabalho de mostrar resultados em colunas dentro de uma tabela onde você passa um array, o número de colunas por linha e um bloco com a “td” que você pretende utilizar.

O plugin está no github e fiquem à vontade pra colaborar.


Paperclip com Rounded Corners

Sexta passada solicitei ao Dookie que tentasse criar um sistema para arredondar as imagens que o cliente mandar direto no servidor, sem precisar de gambiarras em javascript para fazer este trabalho.

O cara focou na tarefa e com a ajuda do Shadow11 consegui um ótimo resultado, vocês podem ver um exemplo no post dele Vale lembrar que a imagem gerada é um PNG32 com fundo transparente, deste modo não há problemas se a imagem vai ficar sobre um fundo com degrade. Único problema fica com IE6 que não suporta PNG32 transparente, mas que resolvemos isso com o plugin jQuery ifixPNG


Counter cache com acts_as_tree

Estava fazendo uns testes esses dias com uma aplicação Rails que utiliza acts_as_tree. Estava utilizando o methodo size para saber se o objeto tinha filhos, foi então que me veio a idéia de implementar um counter_cache e assim dar uma boa limpada nas consultas executadas.

Pesquisei na documentação como fazer isso e bastava colocar o campo com o nome de children_count, porém quando adicionei o :counter_cache => true no act_as_tree o autotest já me acusou 2 erros de SQL. Com uma pesquisada no Google consegui encontrar a solução, basta usar o nome do campo como parâmetro para o counter_cache.