05.03.2009 • Samuel Breton
Comment mettre en place un “Rich Text Editor” dans un backend Symfony 1.2 doctrine ?
J’ai trouvé la solution dans un post du forum symfony, je vous donne la version originale :
http://forum.symfony-project.org/index.php/m/66906/?srch=tinymce+3+steps#msg_66906
En français et expliqué plus en détails, ça donne :
Intégrer Tiny MCE
-
Télécharger et copier :
http://tinymce.moxiecode.com/download.php
dans :/web/js/tinyMCE
-
Modifier ce fichier :
/apps/backend/config/settings.yml
all: .settings: sf_rich_text_js_dir: js/tinyMCE
Installer le plugin sfFormExtraPlugin:
symfony plugin:install sfFormExtraPlugin
Modifier le widget sfWidgetFormTextareaTinyMCE.class.php
Il faut modifier le plugin !
/plugins/sfFormExtraPlugin/lib/widget/sfWidgetFormTextareaTinyMCE.class.php
Fichier :
addOption('theme', 'advanced');
$this->addOption('width');
$this->addOption('height');
$this->addOption('config', '');
}
public function render($name, $value = null, $attributes = array(), $errors = array())
{
$attributes = array_merge($this->attributes, $attributes);
...
Utilisation
Modifier ce fichier :
/lib/form/doctrine/ContenuForm.class.php
widgetSchema['texte'] = new sfWidgetFormTextareaTinyMCE(
array(
'width'=>550,
'height'=>350,
'config'=>'theme_advanced_disable: "anchor,image,cleanup,help"',
'theme' => sfConfig::get('app_tinymce_theme','advanced'),
),
array(
'class' => 'tiny_mce'
)
);
$js_path = sfConfig::get('sf_rich_text_js_dir') ? '/'.sfConfig::get('sf_rich_text_js_dir').'/tiny_mce.js' : '/sf/tinymce/js/tiny_mce.js';
sfContext::getInstance()->getResponse()->addJavascript($js_path);
}
}
Sources:
partager
Plus d’articles !
Plongez dans nos articles pour découvrir des insights captivants !