WYSIWYG

Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.

Наследует Textarea * имеет те же возможности

# TinyMce

use MoonShine\Fields\TinyMce;
 
//...
public function fields(): array
{
return [
TinyMce::make('Описание', 'description'),
 
// Более расширенные настройки
 
TinyMce::make('Text')
// Переопределить набор плагинов
->plugins('anchor')
// Добавление плагинов в базовый набор
->addPlugins('code codesample')
// Переопределить набор toolbar
->toolbar('undo redo | blocks fontfamily fontsize')
// Добавление toolbar в базовый набор
->addToolbar('code codesample')
// Для изменения имени автора для плагина tinycomments
->commentAuthor('Danil Shutsky')
// Теги
->mergeTags([
['value' => 'tag', 'title' => 'Title']
])
// Переопределение текущей локали
->locale('en'),
];
}
//...

Файлы переводов размещаются в директории public/vendor/moonshine/libs/tinymce/langs

Зарегистрируйтесь на Tiny.Cloud и получите токен. После добавьте его в конфиг config/moonshine.php

//...
'tinymce' => [
'token' => 'YOUR_TOKEN'
]
//...

# Laravel File manager

Laravel FileManager

Если вы хотите использовать файловый менеджер в tinymce, то вам необходимо установить пакет Laravel FileManager

1 Установка

composer require unisharp/laravel-filemanager
 
php artisan vendor:publish --tag=lfm_config
php artisan vendor:publish --tag=lfm_public

Обязательно установить флаг 'use_package_routes' в конфиге lfm в false, иначе кеширование роутов будет вызывать ошибку

return [
// ...
'use_package_routes' => false,
// ...
];

2 Add routes to the app/Providers/RouteServiceProvider.php

// ..
Route::middleware('web')
->group(base_path('routes/web.php'));
 
Route::group(['prefix' => 'laravel-filemanager', 'middleware' => ['moonshine', 'auth.moonshine']], function () {
UniSharp\LaravelFilemanager\Lfm::routes();
});
 
// ..

Роут файлового менеджера обязательно должен быть в группе middleware moonshine, а не в web!

Для того чтобы разрешить доступ только авторизованным в админ-панели пользователям необходимо использовать middleware auth.moonshine

3 Добавьте префикс в config/moonshine.php

//...
'tinymce' => [
'file_manager' => 'laravel-filemanager',
// ...
]
//...

# Trix

Поле вынесено в отдельный пакет, перед использованием необходимо выполнить установку

composer require moonshine/trix
use MoonShine\Trix\Fields\Trix;
 
//...
public function fields(): array
{
return [
Trix::make('Описание', 'description'),
];
}
//...

# CKEditor

Поле вынесено в отдельный пакет, перед использованием необходимо выполнить установку

composer require moonshine/ckeditor
use MoonShine\CKEditor\Fields\CKEditor;
 
//...
public function fields(): array
{
return [
CKEditor::make('Описание', 'description'),
];
}
//...

# Quill

Поле вынесено в отдельный пакет, перед использованием необходимо выполнить установку

composer require moonshine/quill
use MoonShine\Quill\Fields\Quill;
 
//...
public function fields(): array
{
return [
Quill::make('Описание', 'description'),
];
}
//...