<?php namespace backend\bootstrap; use core\entities\Settings; use zertex\elfinder\ElFinder; use zertex\ckeditor\CKEditor; use yii\base\BootstrapInterface; use yii\helpers\ArrayHelper; class SetUp implements BootstrapInterface { public function bootstrap($app) { $container = \Yii::$container; // init presets $presetsPath = \Yii::getAlias('@core/components/ckeditor/presets'); // basic $app->params['ckeditor']['basic']['toolbar'] = require $presetsPath . '/basic/toolbar.php'; $app->params['ckeditor']['basic']['plugins'] = require $presetsPath . '/basic/plugins.php'; // editor $app->params['ckeditor']['editor']['toolbar'] = require $presetsPath . '/editor/toolbar.php'; $app->params['ckeditor']['editor']['plugins'] = require $presetsPath . '/editor/plugins.php'; // debeloper $app->params['ckeditor']['developer']['toolbar'] = require $presetsPath . '/developer/toolbar.php'; $app->params['ckeditor']['developer']['plugins'] = require $presetsPath . '/developer/plugins.php'; // set preset example /*$form->field($model, 'content')->widget(CKEditor::class, [ 'editorOptions' => \zertex\elfinder\ElFinder::ckeditorOptions('elfinder',[ 'toolbar' => Yii::$app->params['ckeditor']['editor']['toolbar'], 'extraPlugins' => Yii::$app->params['ckeditor']['editor']['plugins'], ]) ])*/ $container->set(CKEditor::class, [ 'editorOptions' => ElFinder::ckeditorOptions('elfinder', [ 'toolbar' => $app->params['ckeditor']['editor']['toolbar'], 'extraPlugins' => $app->params['ckeditor']['editor']['plugins'], ]), ]); // load settings $settings = ArrayHelper::map(Settings::find()->andWhere(['active' => 1])->all(), 'key', 'value', 'section'); $app->params['settings'] = $settings; // Connect backend modules // Add finish UrlRules $app->getUrlManager()->addRules([ '<_c:[\w\-]+>' => '<_c>/index', '<_c:[\w\-]+>/<id:\d+>' => '<_c>/view', '<_c:[\w\-]+>/<_a:[\w-]+>' => '<_c>/<_a>', '<_c:[\w\-]+>/<id:\d+>/<_a:[\w\-]+>' => '<_c>/<_a>', ]); } }