Tags: plugins

Photo Dropper 0.2: now with user search

plugins Send feedback »

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!

Attachments:

Criando plugins para b2evolution - introdução

plugins Enviar feedback »

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:

class pluginname_plugin extends Plugin
{

      /**
       * 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!

Veja a parte 2 do tutorial

XFN Blogroll 0.3 - en

plugins Send feedback »

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.

Attachments:

Atualização para o B2evolution 2.4

b2evolution, dicas, B2evolution 2 5 feedbacks »

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!

Contato. ©2010 by Walter Cruz. Design & icons by N.Design Studio. Skin by Tender Feelings / Evo Factory.