Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
77 lines (63 sloc) 2.34 KB

Imperavi Redactor Widget

ImperaviRedactorWidget — обёртка для Imperavi Redactor, довольно неплохого WYSIWYG редактора.

Обратите внимание, что сам Imperavi Redactor — коммерческий продукт и не является OpenSource, но так как сообщество Yii купило OEM-лицензию, то вы можете бесплатно пользоваться им в проектах на Yii.

Использование

Импортируем виджет:

Yii::import('ext.imperavi-redactor-widget.ImperaviRedactorWidget');

Вызываем виджет:

$this->widget('ImperaviRedactorWidget', array(
    // можно использовать пару имя модели - имя свойства
    'model' => $my_model,
    'attribute' => 'my_field',

    // или только имя поля ввода
    'name' => 'my_input_name',

    // немного опций, см. http://imperavi.com/redactor/docs/
    'options' => array(
        'lang' => 'ru',
        'toolbar' => false,
        'iframe' => true,
        'css' => 'wym.css',
    ),
));

Также можно подключить Redactor к уже существующим на странице элементам:

$this->widget('ImperaviRedactorWidget', array(
    // селектор для textarea
    'selector' => '.redactor',
    // немного опций, см. http://imperavi.com/redactor/docs/
    'options' => array(),
));

Плагины редактора подключаются при помощи пакетов с ресурсами.

$this->widget('ImperaviRedactorWidget', array(
    'selector' => '.redactor',
    'options' => array(
        'lang' => 'ru',
    ),
    'plugins' => array(
        'fullscreen' => array(
            'js' => array('fullscreen.js',),
        ),
        'clips' => array(
            // Можно указать путь для публикации
            'basePath' => 'application.components.imperavi.my_plugin',
            // или ссылку на ресурсы плагина, в этом случае basePath игнорирутеся
            'baseUrl' => '/js/my_plugin',
            'css' => array('clips.css',),
            'js' => array('clips.js',),
            // можно также указывать зависимости
            'depends' => array('imperavi-redactor',),
        ),
    ),
));