Em meados de 2009 usei o framework Symfony para desenvolver um sistema em PHP para um projeto do qual eu era bolsista. Terminado o projeto, abandonei o framework. Agora reiniciei meus estudos e estou gostando bastante. Tanto que já desenvolvi meu primeiro plugin para compartilhar com a comunidade e já tenho muitos outros em mente.

O nome do plugin é sfNicEditPlugin. Ele adiciona uma instância do editor de texto rico NicEdit a um textarea. Esta é a primeira versão do plugin, ainda faltam alguns parâmetros que o NicEdit aceita, outros já estão disponíveis.

Você pode encontrar o plugin no meu Github ou na página de plugins do Symfony. Em ambos os locais você encontra instruções de instalação em inglês. Aqui no blog vou publicar a versão em português.

Instalação

Instalação (via pacote PEAR)

symfony plugin:install sfNicEditPlugin

Instalação via Git

git clone git://github.com/fonini/sfNicEditPlugin.git

Ou baixe o plugin aqui e extraia para a pasta plugins.

Você deve ativar o plugin, editando o arquivo config/ProjectConfiguration.class.php.

<?php  
class ProjectConfiguration extends sfProjectConfiguration{
	public function setup(){
		$this->enablePlugins(array('sfDoctrinePlugin', 'sfNicEditPlugin', '...;'));
	}
}

Após ativar o plugin, você deve publicar os arquivos CSS e JS utilizados por ele. Rode o seguinte comando:

symfony plugin:publish-assets

Por último, limpe o cache:

symfony cc

Usando o widget

Basta você editar a classe que gera o form em que você vai usar o NicEdit, por exemplo lib/form/doctrine/NewsForm.class.php.

<?php
public function configure(){
	$this->setWidget('text', new sfWidgetFormTextareaNicEdit(array('fullPanel' => true), array('cols' => 100, 'rows' => 20)));
}

Pretendo disponibilizar uma nova versão em breve com todos os parâmetros de configuração disponíves no NicEdit. Entre em contato em caso de dúvida. Abraço!