Utiliser CKeditor dans le frontend
1. Télécharger ckeditor
2. décompresser dans web/js/, le répertoire ckeditor
3. Personnaliser le fichier ckeditor/config.js :
exemple :
CKEDITOR.editorConfig = function( config )
{
// Define changes to default configuration here. For example:
config.language = 'fr';
config.uiColor = '#1980AF';
config.resize_enabled = false;
config.width = 650;
config.height = 400;
config.toolbarCanCollapse = false;
config.enterMode = CKEDITOR.ENTER_BR;
config.shiftEnterMode = CKEDITOR.ENTER_P;
config.toolbar_CustomText2 =
[
['Styles','Format','Font','FontSize'],
'/',
['Bold', 'Italic', 'Underline', 'Strike', '-', 'NumberedList', 'BulletedList'],
['Underline', 'Strike', '-', 'Outdent','Indent','Blockquote'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
'/',
['TextColor','BGColor','-', 'Preview']
];
};
4. En général, ckeditor est utilisé dans un formulaire, dans le partial du template correspondant ajouter :
<?php use_javascript('ckeditor/ckeditor.js') ?>
Puis dans le <FORM> (exemple avec une table commentaire et un champ info)
<tr>
<th><?php echo $form['info']->renderLabel()?></th>
<td style="width: 750px; padding:0;" colspan="2">
<?php echo $form['info']->renderError()?>
<?php echo $form['info'] ?>
<?php echo $form['info']->renderHelp()?>
<script type="text/javascript">
CKEDITOR.replace( 'commentaire[info]',
{
toolbar : 'CustomText2'
});
</script>
</td>
</tr>
5. Modifier lib/form/doctrine/CommentaireForm.class.php
$this->widgetSchema['info'] = new sfWidgetFormTextarea(array(), array('rows' => 10, 'cols' => 117));
$this->widgetSchema->setLabels(array(
'info' => 'Laisser une info',
));