Пока что мне очень нравятся все функции FrozenNode Laravel Administrator.
Для нового проекта в Laravel 5.1 мне нужна простая CMS —
добавить / отредактировать страницу, добавить изображения и видео.
Но поле wysiwyg не включает какой-либо тип управления мультимедиа.
Могу ли я добавить это каким-то образом?
Документация не предлагает этого, но я думаю, что это требование должно быть довольно распространенным.
Я думаю о расширении существующих функций селектора изображений, но вместо URL я бы хотел кнопку «Выбрать изображение», которая открывает всплывающее окно или наложение, где я могу выбрать изображение из папки или загрузить новое изображение в эту папку.
Подобно тому, как это сделано в WordPress.
Другой возможный способ — поместить туда загрузчик файлов jquery.
До сих пор я пытался использовать плагины CKEditors, но те, которые включают просмотр / загрузку, не очень хорошо работают с Laravel, в основном из-за маршрутов.
Решил это:
Отредактируйте route.php, чтобы переадресовывать на правильный URL в Laravel, и в то же время прикреплять маркер безопасности …
Route::group(['middleware' => 'auth'], function () {
// Redirect for ckeditor imageupload with token
Route::any('admin/YOURTABLE/ckeditor/plugins/imageuploader/{subURL}', function ($subURL) {
return redirect("packages/frozennode/administrator/js/ckeditor/plugins/imageuploader/".$subURL.'?'.$_SERVER['QUERY_STRING'].
'&username='. urlencode(Auth::user()->email) .
'&token='. md5( $tokenstring = Auth::user()->email. 'YOURKEY'. date('d.m.Y')));
});
});
Обязательно замените YOURTABLE и YOURKEY
4. отредактируйте imgbrowser.php, удалите проверку имени пользователя и логина и вместо этого проверьте токен:
if( !isset($_GET['username']) || !isset($_GET['token']) ) {
die('username / token missing');
} elseif( !($_GET['username']) || !($_GET['token']) ) {
die('username / token missing');
} elseif( $_GET['token'] != ($tokenq = md5( $tokenstring = $_GET['username']. 'YOURKEY'. date('d.m.Y'))) ) {
die('Token wrong.'. $tokenq. ' '.$tokenstring);
} else {
$_SESSION["username"] = $_GET['username'];
}
Снова убедитесь, что заменили YOURKEY
Это оно. Теперь вы можете загружать, просматривать и выбирать изображения в Laravel Frozennode Administrator! Я действительно хотел бы, чтобы они включили это или что-то подобное в пакет по умолчанию, это действительно базовый материал wysiwyg.
Других решений пока нет …