FrozenNode Laravel-Administrator将图像管理器添加到wysiwyg字段

时间:2015-10-14 09:50:41

标签: php laravel packages

到目前为止,我真的很喜欢FrozenNode Laravel Administrator的所有功能。

对于Laravel 5.1中的新项目,我需要一个简单的CMS - 添加/编辑页面,添加图像和视频。

但是所见即所得字段不包括任何类型的媒体管理。 我可以用某种方式添加它吗?

文档没有提供这个,但我认为这个要求必须非常普遍。

我正在考虑扩展现有的图像选择器功能,但我想要一个“选择图像”按钮,而不是URL,它会打开一个弹出窗口或叠加层,我可以从文件夹中选择图像或将新图像上传到该图像夹。 类似于在Wordpress中完成的。 另一种可能的方法是在那里放一个jquery文件上传器。

有办法吗?enter image description here

到目前为止,我尝试使用CKEditors插件,但包括浏览/上传在内的插件并不能很好地与Laravel配合使用,主要是因为路由。

1 个答案:

答案 0 :(得分:0)

解决了它:

  1. 找到正确的ckeditor目录(我的Laravel Webroot有超过1个):在我的情况下package / frozennode / administrator / js / ckeditor /
  2. 安装http://imageuploaderforckeditor.altervista.org/ 2.a按照说明编辑config.js,再次在右侧目录中
  3. 编辑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')));
    });
    

    });

  4. 确保替换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 editor afterwards image selector and uploader