> For the complete documentation index, see [llms.txt](https://overfinch.gitbook.io/cheatsheet/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overfinch.gitbook.io/cheatsheet/laravel/laravel-+-ck-editor-+-el-finder.md).

# Laravel + CK-Editor + El FInder

Создаём шаблон editor.blade.php с содержимым:

{% code title="resources/view/editor.blade.php" %}

```html
<!DOCTYPE html>
<html lang="en">
<head>
 	   <meta charset="utf-8">
 	   <meta http-equiv="X-UA-Compatible" content="IE=edge">
 	   <meta name="viewport" content="width=device-width, initial-scale=1">
 	   <title>CKEditor</title>
 	{{-- Bootstrap --}}
 	   <link href="{{ asset('/css/bootstrap.css') }}" rel="stylesheet">
 	   {{-- jQuery --}}
 	   <script src="{{ asset('/js/jquery.js') }}" type="text/javascript" charset="utf-8" ></script>
 	   {{-- JS Bootstrap --}}
 	   <script src="{{ asset('/js/bootstrap.js') }}" type="text/javascript" charset="utf-8" ></script>
</head>
<body>
	<div class="container">
     	   <h1>Добавляем поддержку CKEditor</h1>
     	   <div class="row">
         	       <div class="col-md-12">
            	           <textarea name="editor1" id="editor1">
            	           </textarea>
        	       </div>
    	   </div>
	</div>
</body>
</html>

```

{% endcode %}

Прописываем для него роут:

{% code title="routes/web.php" %}

```php
Route::get('/', function () {
    return view('main');
});
```

{% endcode %}

Скачиваем CKeditor здесь <http://ckeditor.com/download>\
\
Копируем его и jQuery.js в public/js<br>

<div align="left"><figure><img src="/files/JzfDD57b36g6Tfn71rTb" alt=""><figcaption></figcaption></figure></div>

Подключаем CKeditor, в хэде прописываем следующее:

{% code title="resources/view/editor.blade.php" %}

```html
<script src="{{ asset('/js/ckeditor/ckeditor.js') }}"
type="text/javascript" charset="utf-8" ></script>
```

{% endcode %}

Инициализируем CKEditor, в конце документа прописываем:

{% code title="resources/view/editor.blade.php" %}

```html
<script>
 	   var editor = CKEDITOR.replace( 'editor1' );
</script>
```

{% endcode %}

Проверяем:

<div align="left"><figure><img src="/files/1a5zLlM5Bqssq0tBrWJz" alt=""><figcaption></figcaption></figure></div>

Интегрируем EL Finder (подробнее тут <https://github.com/barryvdh/laravel-elfinder>)

```bash
composer require barryvdh/laravel-elfinder
```

Добавляем в массив Сервис Провайдеров в app/config/app.php

```php
Barryvdh\Elfinder\ElfinderServiceProvider::class
```

Публикуем командой

```bash
php artisan elfinder:publish
```

Создаём папку upload в папке public

Конфигурируем файл \vendor\barryvdh\laravel-elfinder\config\elfinder.php

{% hint style="info" %}
Что бы elfinder.php перенёсся в в папку config в корне, можно попробовать выполнить команду php artisan vendor:publish
{% endhint %}

{% code title="elfinder.php" %}

```php
<?php 
return array(
 'dir' => ['upload'], 
'disks' => [], 
'route' => [ 'prefix' => 'elfinder', 'middleware' => null,],
 'access' => 'Barryvdh\Elfinder\Elfinder::checkAccess', 
'roots' => null,

 'options' => array(
 'roots' => array( array( 'driver' => 'LocalFileSystem', 'path' => public_path().'/upload', 'URL' => 'http://test.loc/upload' ), ) ), 

'root_options' => array(), 
);

```

{% endcode %}

Не забываем поменять <http://test.loc/upload> на свой путь

Нициализируем El Finder в нашем скрипте инициализации CKEditor\`a добавляем El Finder

{% code title="" %}

```html
<script>
    var editor = CKEDITOR.replace( 'editor1',{
        filebrowserBrowseUrl : '/elfinder/ckeditor'
    } );
</script>
```

{% endcode %}

Открываем на сайт и в редакторе выбираем «Изображение»

<div align="left"><figure><img src="/files/IoHntKezcooZUI2okxq7" alt=""><figcaption></figcaption></figure></div>

Откроется диалог вставки, жмем «Выбор на сервере»

<div align="left"><figure><img src="/files/RLMZZ69v7HoBwLpcMmqE" alt=""><figcaption></figcaption></figure></div>

И откроется наш редактор

<div align="left"><figure><img src="/files/FPmSlbY8fEBgS6Qbt9Lg" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Есть мой репозиторий с установленым Ck-Editor и El Finder на laravel<br>

<https://github.com/Overfinch/Laravel-Ckeditor-Elfinder>
{% endhint %}
