isicsWidgetFormTinyMCE plugin
You miss TinyMce since you've started using symfony 1.1? No matter, this widget is very easy to use and lets you a lot of flexibility.
Installation
First, download the last version of TinyMCE here: http://tinymce.moxiecode.com/download.php and place tiny_mce folder in your web/js directory.
If you're using the GZip version, download the PHP compressor too.
Install the plugin
$ symfony plugin:install isicsWidgetFormTinyMCEPlugin
Clear your cache:
$ symfony cache:clear
Usage
Basic usage
You can now use the new widget for building your form:
$this->setWidgets(array(
'my_rich_text' => new isicsWidgetFormTinyMCE(array('tiny_options' => array('theme' => 'advanced'))
));
As you can see, isicsWidgetFormTinyMCE add the option tiny_options wich is an array off the Tiny Options (look at the TinyMCE wiki for help).
If you're using the sames options many times, why don't use an app setting?
Edit your app.yml and add a tiny_mce_default param:
tiny_mce:
default:
theme: advanced
Your can define your own params too:
tiny_mce:
my_settings:
theme: advanced
theme_advanced_buttons1: 'bold, italic'
And in your PHP code:
$this->setWidgets(array(
new isicsWidgetFormTinyMCE(array(
'tiny_options' => sfConfig::get('app_tiny_mce_my_settings', array())
)
));
Changing TinyMCE path
You can specify another path to TinyMCE classes by changing value of path params in app.yml or tiny_path option in widget configuration.
Using options without quotes
The plugin protects all options by quotes. Some options doesn't have to be protected by quotes. By default, the setup option isn't protected.
If you need to unprotect others options, a options_without_quotes option is provided:
$this->setWidgets(array(
'my_rich_text' => new isicsWidgetFormTinyMCE(array('options_without_quotes' => array('my_option')))
));
GZip compression
You can use the GZip compressor provided with tinyMCE:
$this->setWidgets(array(
'my_rich_text' => new isicsWidgetFormTinyMCE(array('with_gzip' => true))
));
Edit your app.yml and add a tiny_mce_gz_default param:
tiny_mce:
gz_default:
plugins: 'style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras'
languages: 'en'
themes: 'simple,advanced'
A tiny_gz_options option is also provided with the same usage that tiny_options.