Tags: plugins
As some people requested in the forums, now the plugin can search the photos from a specific user. After upgrade the plugin, to to your user preferences and configure your flickr username. After that, when searching photos, you will see a checkbox to search only from that user. If you find some trouble on it tell me!
Como é de praxe em sistemas gerenciadores de conteúdo, o b2evolution tem alguns pontos onde pode ter o seu comportamento alterado ou funcionalidades adicionadas pelo uso de plugins.
A pasta para a instalação de plugins é, coincidentemente, a pasta plugins ![]()
Para escrever um plugin para o b2evolution, é preciso estender a classe plugin. Existe um arquivo chamado skeleton.plugin.php , que você pode usar como modelo para o seu primeiro plugin. A classe do plugin deve se chamar nomedoplugin_plugin e o arquivo deve se chamar _nomedoplugin.plugin.php. Se o seu plugin contiver vários arquivos além da classe PHP, você pode incluí-lo dentro de uma pasta chamada nomedoplugin_plugin.php, ficando a seguinte hierarquia:
plugins/nomedoplugin_plugin/_nomedoplugin.plugin.php
Vamos dar uma olhada no cabeçalho do skeleton.plugin.php:
{
/**
* Variables below MUST be overriden by plugin implementations,
* either in the subclass declaration or in the subclass constructor.
*/
var $name = 'PLUGIN_NAME';
/**
* Code, if this is a renderer or pingback plugin.
*/
var $code = '';
var $priority = 50;
var $version = '0.1-dev';
var $author = 'http://example.com/';
var $help_url = '';
var $apply_rendering = 'opt-in';
O code é um texto usado para identificar o seu plugin internamente, é e usado com os plugins renderizadores. priority é a prioridade de seu plugin. No caso de uma mesma ação disparar diversos plugins, será disparado primeiro o plugin com menor prioridade. version é, sem segredo, a versão do seu plugin. author é um link para o site do desenvolvedor do plugin, help_url é um link para uma página que contenha a documentação do plugin. apply_rendering diz respeito a aplicação de plugins renderizadores de texto e de que forma eles serão aplicados.
Plugins renderizadores de texto
Plugins renderizadores de texto são plugins que modificam o texto que você escreveu de alguma forma. Exemplos de plugins renderizadores são o plugin de smilies, que transforma seus smilies em imagens, o auto_p, que transforma quebras de linhas em parágrafos. Você pode escolher post a post quais plugins você renderizadores você quer que sejam aplicados a esse post, e a váriavel apply_rendering em cada plugin especifica como isso será exibido na tela de edição de posts:
- stealth: é sempre usado, mas não é exibido como uma opção
- always: é sempre usado e exibido como um checkbox desabilitado
- opt-out: habilitado por padrão
- opt-in: desabilitado por padrão
- lazy: checkbox é exibida, mas desabilitada
- never: não pode ser usado como um renderizador
Para quem tem experiência com o wordpress, um plugin renderizador é de certa forma semelhante a um plugin do wordpress que filtre o "the_content".
Um plugin renderizador deve implementar um dos seguintes métodos: RenderItemAsHtml, RenderItemAsXml, DisplayItemAsHtml, DisplayItemAsXml. Os dois primeiros (que começam com Render) são salvos em cache e portanto, são aplicados apenas na primeira vez que o item é exibido. Os dois últimos, que começam com Display, são aplicados todos as vezes que o item é exibido, e sua saída não é salva no cache. RenderItemAsHtml e DisplayItemAsHtml se aplicam a visualização html do item, RenderItemAsXml e DisplayItemAsXml são usados na exibição xml do item (por exemplo, na exibição de um feed rss). Assim, é possível exibir elementos apenas na visualização comum do post, eliminando do rss items que não façam sentido num leitor de feeds, ou o contrário, exibir alguma coisa apenas no feed e não no blog.
Como exercício para o leitor, sugiro dar uma olhada nos plugins que já vem com o b2evolution, no próximo artigo mostrarei um exemplo de um plugin renderizador completo!
New version. Nos uses jQuery by extense, instead of the shortcut $, that could be ambiguos in the case where prototype is being used too.
Thanks, Ben, that show me the problem.
Ontem eu finalmente me enchi de coragem para atualizar para o b2evolution 2.4. A maior dificuldade seria atualizar o skin, mas eu já venho usando pra desenvolver no localhost a versão do CVS, e já tinha uma versão mais ou menos estável do skin. Com isso pronto, fui ao trabalho!
Como em todas as atualizações do b2evolution, foi muito simples: apenas enviar os arquivos e executar os procedimentos. Alguns minutos rodando e eu recebi uma porção de spam. Enviei o plugin DNS Trackback antispam plugin e em pouco tempo já não recebia mais os trackbacks chatos.
Logo de cara, eu me livrei de um antigo hack que tinha no código: Eu prefiro as URLS sem as datas, como http://devlog.waltercruz.com/sobre ao invés de http://devlog.waltercruz.com/2008/01/28/sobre. Porém, nas versões anteriores à 2.x do b2evolution, era preciso um pequeno hack para isso funcionar direito. Agora, com o 2.x os dois esquemas de URLs são possíveis. Além disso, o b2evolution 2.x implementa URLS canônicas, um recurso que foi implementado no wordpress 2.3. Basicamente, isso significa que sempre que houver mais de uma URL para acessar o mesmo recurso, o b2evolution irá mandar um cabeçalho 301, enviando o navegador para uma página correta e única. Você pode testar esse recurso clicando nas duas URLs acima, da página sobre do devlog. Você verá que ambas redirecionam para o mesmo endereço.
Algumas coisinhas que eu tinha feito com hacks no template e em outros lugares eu estou terminando de transformar pra plugins. Ainda não recoloquei os adsense. No geral, a migração foi fácil e prazerosa, embora faltem alguns detalhes. A nova interface administrativa é muito bonita e prática. Estou gostando!


Comentários Recentes