Ajouter l’éditeur Wysiwyg sur un textarea en admin sous magento

Bonjour,

J’ai récemment rencontré un problème pour ajouter un éditeur wysiwyg sous magento, voici la solution. Dans notre exemple, c’est pour l’édition de notre modèle “actualite” dans le backoffice.

Dans le controller (app/code/local/Monprojet/Actualite/controllers/Adminhtml/ActualiteController.php ), ajouter la ligne suivante dans l’action edit

 public function editAction() {
    ....
    if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
	$this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
    }
    .....

Dans le Form.php (/app/code/local/Monprojet/Actualite/Block/Adminhtml/Actualite/Edit/Tab/Form.php)ajoutez le champ de la façon suivante :

$fieldset->addField('actualite_texte', 'editor', array(
          'name'      => 'actualite_texte',
          'label'     => Mage::helper('actualite')->__('Texte'),
          'title'     => Mage::helper('actualite')->__('Texte'),
          'style'     => 'width:500px; height:300px;',
          'wysiwyg'   => true,
          'config'    => Mage::getSingleton('cms/wysiwyg_config')->getConfig(),
          'required'  => false,
      ));

Voila pour l’astuce.

et ajoutez aussi cette fonction dans le Form.php :

/**
* Load Wysiwyg on demand and Prepare layout
*/
protected function _prepareLayout()
{
    parent::_prepareLayout();
    if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
        $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
    }
}