Ремонт компьютера
Сборка, чистка, апгрейт ремонт любой техники.
Замена частей, установка ПО, установка Windows, антивируса.
Удаленная помощь без вызова на дом.
Создание сайта
Создание сайта с нуля, модулей, скриптов для сайта.
Движки Joomla, Wordpress, Opencart, Prestashop и тд.
SEO продвижение, ремонт, оптимизация сайта.

Добавим ckeditor в laravel 5 (WYSIWYG редактора)

Прочитал статью как подключить его к laravel, и сделал как было описано, но получил ошибки, более того автор особо не вникая, сделал абы работало. У него то может и пашет (правда с ошибкой, и он отключил защиту чтобы это обойти) но я потанцевав с бубном и разобрался.

И так сначало скачаем ckeditor к себе. Думаю каждый выберет размер функций себе, я ставил фулл, но мне позже он показался через чур. Переносим все в наш проект в папку public/js/ckeditor.

Ошибка была в том что ругалась на backend (у меня вообще 500 ошибка была):
errors backend
Даа можно просто поставить его без файлового менеджера прицепив к любой textarea по id или jquery (метод ниже) и не париться (он работает), но это удобно (файловый менеджер) так что настраиваем.

Ckeditor установка

Это в шапку добавим (его подключим).

<script src="{{ asset('/js/ckeditor/ckeditor.js') }}"
type="text/javascript" charset="utf-8" ></script>
А это уже наш textarea с id 'chizi1'

<textarea id="chizi1"></textarea> 
<script>
        var editor = CKEDITOR.replace( 'editor1' );
</script>

 

Файловый сервер

И все будет работать, но важно же именно файловый сервер, чтобы можно было закачивать фото, прикладывать их к тексту.

Ставим elfinder:
composer require barryvdh/laravel-elfinder
потом добавим строчку provider в app/config/app.php

Barryvdh\Elfinder\ElfinderServiceProvider::class

Подключим их в общий доступ php artisan elfinder:publish
Вынесем конфиг приложения в папку всех конфигов app/config (Или если >5.4 то в /config)
php artisan vendor:publish --provider='Barryvdh\Elfinder\ElfinderServiceProvider' --tag=config
Вынесем их assets в папку assets (по желанию, потестить как выглядит с разными редакторами)
php artisan vendor:publish —provider=’Barryvdh\Elfinder\ElfinderServiceProvider’ —tag=views
Ну и теперь самое интересное что и было не верно у него:
в файлике config/efinder.php

<?php return array( /* |-------------------------------------------------------------------------- | Upload dir |-------------------------------------------------------------------------- | | The dir where to store the images (relative from public) | */ 'dir' => ['files'],

    /*
    |--------------------------------------------------------------------------
    | Filesystem disks (Flysytem)
    |--------------------------------------------------------------------------
    |
    | Define an array of Filesystem disks, which use Flysystem.
    | You can set extra options, example:
    |
    | 'my-disk' => [
    |        'URL' => url('to/disk'),
    |        'alias' => 'Local storage',
    |    ]
    */
    'disks' => [
		'upload' => [ // имя нашего диска
			'URL' => 'http://twinz.by/uploads', // его ссылка
			'alias' => 'My storage', // имя в редакторе
		]
	],

    /*
    |--------------------------------------------------------------------------
    | Routes group config
    |--------------------------------------------------------------------------
    |
    | The default group settings for the elFinder routes.
    |
    
*/
    'route' => [
        'prefix' => 'elfinder',
        'middleware' => null,//'replace-this-with-your-middleware', //Set to null to disable middleware filter
    ],

    /*
    |--------------------------------------------------------------------------
    | Access filter
    |--------------------------------------------------------------------------
    |
    | Filter callback to check the files
    |
    */

    'access' => 'Barryvdh\Elfinder\Elfinder::checkAccess',

    /*
    |--------------------------------------------------------------------------
    | Roots
    |--------------------------------------------------------------------------
    |
    | By default, the roots file is LocalFileSystem, with the above public dir.
    | If you want custom options, you can set your own roots below.
    |
    */

    'roots' => null,

    /*
    |--------------------------------------------------------------------------
    | Options
    |--------------------------------------------------------------------------
    |
    | These options are merged, together with 'roots' and passed to the Connector.
    | See https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options-2.1
    |
    */
	
    'options' => array(

     ),
    
    /*
    |--------------------------------------------------------------------------
    | Root Options
    |--------------------------------------------------------------------------
    |
    | These options are merged, together with every root by default.
    | See https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options-2.1#root-options
    |
    */
    'root_options' => array(

    ),

);

Как видим можно и без options (он в статье только ее указал). Но вот то что он не сделал,это не добавил диск и не привязал его. Нужно в файлике filesystem.php добавить наш новый диск upload и его в efinder.php подключить, что мы и сделали. И тогда не нужно извращаться и отключать защиту через htaccess.

     'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],
		
		'upload' => [ // Вот он
            'driver' => 'local',
            'root' => public_path().'/uploads',
            'url' => 'http://twinz.by/uploads',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_KEY'),
            'secret' => env('AWS_SECRET'),
            'region' => env('AWS_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],

    ],

];

Вот что у меня вышло, по прямой ссылке менеджер файлов:

Папка файлов:

Редактор:

Ну и конечно же чтобы не было умников полазить в нашем редакторе и все изменить по этой ссылке, добавляем в config/efinder.php наш ‘auth’ middleware (авторизованным доступ):

     'route' => [
        'prefix' => 'elfinder',
        'middleware' => ['web','auth'], //'replace-this-with-your-middleware', //Set to null to disable middleware filter
    ],
Название статьи при не правильной раскладке клавиатуры: Lj,fdbv ckeditor d laravel 5 (WYSIWYG htlfrnjhf)
Если вдруг появилось желание поблагодарить автора,просто нажмите на рекламу чуть ниже, этого будет достаточно :)

Добавить комментарий

Ваш e-mail не будет опубликован.

Вставьте верное число *