Как добавить WISYWIG в Yii

Наконец-то добрался до блога. А поскольку на нем так и не установил WYSIWYG редактор, решил что пришло время положение исправлять. И так, как же добавить WYSIWYG редактор в Yii?

1. Нужно выбрать какой редактор будем использовать. Первый же запрос привел меня на страницу расширений yii, там я обратил внимание на redactor от Imperavi. Могу сказать сразу, о выборе жалеть не пришлось. Думаю имеет смысл скачивать наиболее новую версию редактора, которая расположена тут.

2. Установка нового расширения. Если папки создано не было то создаем: webroot/protected/extensions/redactor туда помещаем файлы, которые мы скачали в шаге 1.

3. Все теперь дело за малым. Теперь идет в представления, в которых находятся интересующие нас поля и заменяем их код следующим, на примере атрибута body:

<?php
  $this->widget('ext.redactor.ImperaviRedactorWidget', array(
    // Используем атрибут модели
    'model' => $model,
    'attribute' => 'body',
    // Доки тут: <a href="http://imperavi.com/redactor/docs/">http://imperavi.com/redactor/docs/</a>
    'options' => array(
      'lang' => 'ru',
      'toolbar' => true,
    ),
  ));
?>

4. На этом можно было и закончить, но оказывается для номарльной работы редактора требуется jQuery от 1.8.0. Поэтому нам еще придется обновить библиотеку. Для этого открываем webroot/protected/config/main.php и в секцию 'components' добавляем:

<?php
'components'=>array(
  ......
  'clientScript' => array(
    'scriptMap' => array('jquery.js' => false, ),
  ),
  ....
);
?>
<br />

После чего jQuery, которая автоматически подгружается Yii перестанет использоваться. Дальше необходимо добавить в шаблон (пример: webroot/protected/views/layouts/main.php) добавить строку:

<script type="text/javascript"src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>

5. Все теперь можно пользоваться WISYWYG!

Yii
comments powered by Disqus