CodeMirror extension for Yii2
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist leandrogehlen/yii2-codemirror "*"
or add
"leandrogehlen/yii2-codemirror": "*"
to the require section of your composer.json
file.
Once the extension is installed, simply use it in your code by :
<?php
use leandrogehlen\codemirror\CodeMirror;
<?= $form->field($file, 'description')->widget(CodeMirror::className(), [
'pluginOptions' => [
'mode' => 'application/x-httpd-php',
'theme' => 'solarized dark',
...
]
]);
?>
By default, only core javascript and css files are registered:
lib/codemirror.js
lib/codemirror.css
If it is necessary adds other resource files, then should be used the Dependency Injection concept.
Example:
I want to use php
mode in the codemirror editor
//config/web.php
$config = [
'id' => 'my-app',
'components' => [
...
]
...
]
Yii::$container->set('leandrogehlen\codemirror\CodeMirrorAsset',[
'js' => [
'mode/htmlmixed/htmlmixed.js',
'mode/xml/xml.js',
'mode/javascript/javascript.js',
'mode/clike/clike.js',
'mode/php/php.js',
]
]);
return $config;