Skip to content

Latest commit

 

History

History
executable file
·
247 lines (201 loc) · 7.63 KB

README_RU.md

File metadata and controls

executable file
·
247 lines (201 loc) · 7.63 KB

Imperavi Redactor Widget для Yii 2

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

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

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

Установка

Желательно устанавливать расширение через composer.

Просто запустите в консоли команду:

$ php composer.phar require --prefer-dist vova07/yii2-imperavi-widget "*"

или добавьте

"vova07/yii2-imperavi-widget": "*"

в require секцию вашего composer.json файла.

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

Как только вы установили расширение, вы можете её использовать в своём коде:

Как простой виджет

echo \vova07\imperavi\Widget::widget([
    'name' => 'redactor',
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'plugins' => [
            'clips',
            'fullscreen'
        ]
    ]
]);

Как виджет ActiveForm

use vova07\imperavi\Widget;

echo $form->field($model, 'content')->widget(Widget::className(), [
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'plugins' => [
            'clips',
            'fullscreen'
        ]
    ]
]);

Как виджет для уже существующего textarea

echo \vova07\imperavi\Widget::widget([
    'selector' => '#my-textarea-id',
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'plugins' => [
            'clips',
            'fullscreen'
        ]
    ]
]);

Добавляем возможность выбирать уже загружённые изображения

// DefaultController.php
public function actions()
{
    return [
        'images-get' => [
            'class' => 'vova07\imperavi\actions\GetAction',
            'url' => 'http://my-site.com/images/', // URL адрес папки где хранятся изображения.
            'path' => '@alias/to/my/path', // Или абсолютный путь к папке с изображениями.
            'type' => GetAction::TYPE_IMAGES,
        ]
    ];
}

// View.php
echo \vova07\imperavi\Widget::widget([
    'selector' => '#my-textarea-id',
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'imageManagerJson' => Url::to(['/default/images-get']),
        'plugins' => [
            'imagemanager'
        ]
    ]
]);

Добавляем возможность выбирать уже загружённые файлы

// DefaultController.php
public function actions()
{
    return [
        'files-get' => [
            'class' => 'vova07\imperavi\actions\GetAction',
            'url' => 'http://my-site.com/files/', // URL адрес папки где хранятся файлы.
            'path' => '@alias/to/my/path', // Или абсолютный путь к папке с файлами.
            'type' => GetAction::TYPE_FILES,
        ]
    ];
}

// View.php
echo \vova07\imperavi\Widget::widget([
    'selector' => '#my-textarea-id',
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'fileManagerJson' => Url::to(['/default/files-get']),
        'plugins' => [
            'filemanager'
        ]
    ]
]);

Загрузка изображения

// DefaultController.php
public function actions()
{
    return [
        'image-upload' => [
            'class' => 'vova07\imperavi\actions\UploadAction',
            'url' => 'http://my-site.com/images/', // URL адрес папки куда будут загружатся изображения.
            'path' => '@alias/to/my/path' // Или абсолютный путь к папке куда будут загружатся изображения.
        ],
    ];
}

// View.php
echo \vova07\imperavi\Widget::widget([
    'selector' => '#my-textarea-id',
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'imageUpload' => Url::to(['/default/image-upload'])
    ]
]);

Загрузка файла

// DefaultController.php
public function actions()
{
    return [
        'file-upload' => [
            'class' => 'vova07\imperavi\actions\UploadAction',
            'url' => 'http://my-site.com/files/', // URL адрес папки куда будут загружатся файлы.
            'path' => '@alias/to/my/path', // Или абсолютный путь к папке куда будут загружатся файлы.
            'uploadOnlyImage' => false, // Для загрузки не только изображений.
        ],
    ];
}

// View.php
echo \vova07\imperavi\Widget::widget([
    'selector' => '#my-textarea-id',
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'fileUpload' => Url::to(['/default/file-upload'])
    ]
]);

Регистрация своих плагинов

Add custom plugins

echo \vova07\imperavi\Widget::widget([
    'selector' => '#my-textarea-id',
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'plugins' => [
            'clips',
            'fullscreen'
        ]
    ],
    'plugins' => [
        'my-custom-plugin' => 'app\assets\MyPluginBundle'
    ]
]);

Тестирование

$ phpunit

Дополнительная информация

Пожалуйста проверьте Imperavi Redactor документацию для более подробной информации касательно его настроек.

Хотите помочь?

Пожалуйста проверьте CONTRIBUTING файл для подробной информации.

Авторство

Лицензия

BSD Лицензия (BSD). Пожалуйста проверьте License файл для подробной информации.

YiiWheels
Доступно также на YiiWheels