dmbozhok / yii2-editorjs
Use editor.js in form. Module for Yii2
1.1.3
2021-12-06 04:00 UTC
Requires
- php: >=7.0
- composer-plugin-api: ^1.0
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2025-03-01 00:29:33 UTC
README
Use the https://editorjs.io/ in forms from Yii2.
Install
Install via Composer:
composer require quanzo/yii2-editorjs
or add
"quanzo/yii2-editorjs" : "*"
to the require
section of your composer.json
file.
Config
$config = [ ... 'modules' => [ ... 'editorjs' => [ 'class' => 'x51\yii2\modules\editorjs\Module', /*'uploadDir' => 'upload', // the name of the directory in the root of the site to save information 'useDateDir' => true; // Pictures will be uploaded to folders with the current date 'useUserIdDir' => true; // pictures will be arranged in folders with user id 'maxImageWidth' => 1000; // image size limit 'uploadImageFromUrl' => true; // permission to download images by url (see download controller) 'classRender' => '\\x51\\yii2\\modules\\editorjs\\classes\\Render'; // class for converting json (editorjs) to html 'useCDN' => false; // use javascript download via cdn.jsdelivr.net // static page crete from editorjs 'staticPageDir' => '@app/pages/'; // path to the folder with static editorjs pages 'extWithDot' => '.json'; 'shortcode' => ''; // name of the shortcode processing module (if processing is needed) // if need use access filter 'as access' => [ 'class' => '\yii\filters\AccessControl', 'rules' => [ [ 'controllers' => ['editorjs/static', 'editorjs/upload'], 'roles' => ['admin'], 'allow' => true ], [ 'roles' => ['?'], 'allow' => true ] ] ]*/ ], ... ], ... ];
Using
Show static page
Use \x51\yii2\modules\editorjs\actions\StaticPageAction
in Controller for show
static page.
public function actions() { return [ 'spage' => [ 'class' => '\x51\yii2\modules\editorjs\actions\StaticPageAction', 'editorjsModuleName' => 'editorjs', 'on '.\x51\yii2\modules\editorjs\actions\StaticPageAction::EVENT_BEFORE_RUN => function ($event) { Yii::$app->view->registerAssetBundle('\x51\yii2\modules\editorjs\assets\RenderAssets'); } ], ]; }
Editor.js in form
$form = ActiveForm::begin();
echo $form->field($model, 'post_type')->textInput(['maxlength' => true]);
.....
Yii::$app->getModule('editorjs')->editorjs('editorjs-container', $model->formName(), 'textNameFieldInModel', $model->textNameFieldInModel);
.....
ActiveForm::end();
Can be used for any form. The result is in a hidden field. Field name
formName[textNameFieldInModel]
. If you do not specify a form name, then the
result in field textNameFieldInModel
.