Imperavi Redactor Widget
— обёртка для Imperavi Redactor 10.2.5,
довольно неплохого 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',
],
'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',
],
]);
$ phpunit
Пожалуйста проверьте Imperavi Redactor v10 документацию для более подробной информации касательно его настроек.
Пожалуйста проверьте CONTRIBUTING файл для подробной информации.
BSD Лицензия (BSD). Пожалуйста проверьте License файл для подробной информации.
Пожалуйста ознакомтесь с РУКОВОДСТВОМ для подробной информации.