Imperavi Redactor Widget is a wrapper for Imperavi Redactor 10.2.5, a high quality WYSIWYG editor.
Note that Imperavi Redactor itself is a proprietary commercial copyrighted software but since Yii community bought OEM license you can use it for free with Yii.
The preferred way to install this extension is through composer.
Either run
$ php composer.phar require --prefer-dist vova07/yii2-imperavi-widget "*"or add
"vova07/yii2-imperavi-widget": "*"to the require section of your composer.json file.
Once the extension is installed, simply use it in your code:
echo \vova07\imperavi\Widget::widget([ 'name' => 'redactor', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'plugins' => [ 'clips', 'fullscreen', ], 'clips' => [ ['Lorem ipsum...', 'Lorem...'], ['red', '<span class="label-red">red</span>'], ['green', '<span class="label-green">green</span>'], ['blue', '<span class="label-blue">blue</span>'], ], ], ]);use vova07\imperavi\Widget; echo $form->field($model, 'content')->widget(Widget::className(), [ 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'plugins' => [ 'clips', 'fullscreen', ], 'clips' => [ ['Lorem ipsum...', 'Lorem...'], ['red', '<span class="label-red">red</span>'], ['green', '<span class="label-green">green</span>'], ['blue', '<span class="label-blue">blue</span>'], ], ], ]);echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'plugins' => [ 'clips', 'fullscreen', ], 'clips' => [ ['Lorem ipsum...', 'Lorem...'], ['red', '<span class="label-red">red</span>'], ['green', '<span class="label-green">green</span>'], ['blue', '<span class="label-blue">blue</span>'], ], ], ]);// DefaultController.php public function actions() { return [ 'images-get' => [ 'class' => 'vova07\imperavi\actions\GetImagesAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'options' => ['only' => ['*.jpg', '*.jpeg', '*.png', '*.gif', '*.ico']], // These options are by default. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'imageUpload' => Url::to(['default/image-upload']), 'imageManagerJson' => Url::to(['/default/images-get']), 'plugins' => [ 'imagemanager', ], ], ]);// DefaultController.php public function actions() { return [ 'files-get' => [ 'class' => 'vova07\imperavi\actions\GetFilesAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'options' => ['only' => ['*.txt', '*.md']], // These options are by default. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['default/file-upload']), 'fileManagerJson' => Url::to(['/default/files-get']), 'plugins' => [ 'filemanager', ], ], ]);// DefaultController.php public function actions() { return [ 'image-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'imageUpload' => Url::to(['/default/image-upload']), 'plugins' => [ 'imagemanager', ], ], ]);// DefaultController.php public function actions() { return [ 'file-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'uploadOnlyImage' => false, // For any kind of files uploading. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['/default/file-upload']), 'plugins' => [ 'filemanager', ], ], ]);// DefaultController.php public function actions() { return [ 'file-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'uploadOnlyImage' => false, // For any kind of files uploading. 'unique' => false, 'replace' => true, // By default it throw an excepiton instead. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['/default/file-upload']), 'plugins' => [ 'filemanager', ], ], ]);// DefaultController.php public function actions() { return [ 'file-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'uploadOnlyImage' => false, // For any kind of files uploading. 'unique' => false, 'translit' => true, ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['/default/file-upload']), 'plugins' => [ 'filemanager', ], ] ]);echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'plugins' => [ 'clips', 'fullscreen' ] ], 'plugins' => [ 'my-custom-plugin' => 'app\assets\MyPluginBundle', ], ]);// DefaultController.php public function actions() { return [ 'images-get' => [ 'class' => 'vova07\imperavi\actions\GetImagesAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. ], 'image-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. ], 'file-delete' => [ 'class' => 'vova07\imperavi\actions\DeleteFileAction', 'url' => 'http://my-site.com/statics/', // Directory URL address, where files are stored. 'path' => '/var/www/my-site.com/web/statics', // Or absolute path to directory where files are stored. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'imageUpload' => Url::to(['/default/image-upload']), 'imageDelete' => Url::to(['/default/file-delete']), 'imageManagerJson' => Url::to(['/default/images-get']), ], 'plugins' => [ 'imagemanager' => 'vova07\imperavi\bundles\ImageManagerAsset', ], ]);// DefaultController.php public function actions() { return [ 'files-get' => [ 'class' => 'vova07\imperavi\actions\GetFilesAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. ], 'file-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'uploadOnlyImage' => false, // For any kind of files uploading. ], 'file-delete' => [ 'class' => 'vova07\imperavi\actions\DeleteFileAction', 'url' => 'http://my-site.com/statics/', // Directory URL address, where files are stored. 'path' => '/var/www/my-site.com/web/statics', // Or absolute path to directory where files are stored. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['/default/file-upload']), 'fileDelete' => Url::to(['/default/file-delete']), 'fileManagerJson' => Url::to(['/default/files-get']), ], 'plugins' => [ 'filemanager' => 'vova07\imperavi\bundles\FileManagerAsset', ], ]);$ phpunitPlease, check the Imperavi Redactor v10 documentation for further information about its configuration options.
Please see CONTRIBUTING for details.
The BSD License (BSD). Please see License File for more information.
Please check the UPGRADE GUIDE for details.