到目前为止,我真的很喜欢FrozenNode Laravel Administrator的所有功能。
对于Laravel 5.1中的新项目,我需要一个简单的CMS - 添加/编辑页面,添加图像和视频。
但是所见即所得字段不包括任何类型的媒体管理。 我可以用某种方式添加它吗?
文档没有提供这个,但我认为这个要求必须非常普遍。
我正在考虑扩展现有的图像选择器功能,但我想要一个“选择图像”按钮,而不是URL,它会打开一个弹出窗口或叠加层,我可以从文件夹中选择图像或将新图像上传到该图像夹。 类似于在Wordpress中完成的。 另一种可能的方法是在那里放一个jquery文件上传器。
到目前为止,我尝试使用CKEditors插件,但包括浏览/上传在内的插件并不能很好地与Laravel配合使用,主要是因为路由。
答案 0 :(得分:0)
解决了它:
编辑routes.php以转发到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中上传,浏览和选择图像!我真的希望他们默认包含这个或类似的东西,这真的是基本的所见即所得。