Laravel项目使用TinyMCE编辑器与elFinder文件管理器

   2016-09-29 0
核心提示:Laravel文档啃得差不多了,终于入门了,目前在写一个 化学实验室安全教育及在线考试系统 : HFUT_ChemLab ,求 Star 。 目前已经开发完了写文章功能,内置 TinyMCE 编辑器与 elFinder 文件管理器复制上传文件,可以在文章中插入图片、视频、附件等等功能:下

Laravel文档啃得差不多了,终于入门了,目前在写一个 化学实验室安全教育及在线考试系统HFUT_ChemLab ,求 Star

目前已经开发完了写文章功能,内置 TinyMCE 编辑器与 elFinder 文件管理器复制上传文件,可以在文章中插入图片、视频、附件等等功能:

Laravel项目使用TinyMCE编辑器与elFinder文件管理器

Laravel项目使用TinyMCE编辑器与elFinder文件管理器

下面说下怎么安装:

安装tinyMCE编辑器

tinyMCE 下载安装包: https://www.tinymce.com/download/ ,然后解压放到项目的 /public/js 下。

在需要编辑器的地方,插入 <textarea></textarea> 标签,然后在项目中引入以下 js 代码:

tinymce.init({
     selector: 'textarea',
     height: 360,
     file_browser_callback : elFinderBrowser,
     plugins: [
      'advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker',
      'searchreplace wordcount visualblocks visualchars insertdatetime media nonbreaking',
      'save table contextmenu directionality emoticons template paste textcolor'
    ],
     toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons'
 });

这时候编辑器插入完成。

安装elFinder文件管理器

主要是安装这个坑比较多,最大的坑是上传图片不显示缩略图。

这是 elFinder 的项目地址: https://github.com/barryvdh/laravel-elfinder

在项目目录下:

composer require barryvdh/laravel-elfinder

接着将 ElfinderServiceProvider 添加到 /config/app.confproviders 数组中:

'Barryvdh\Elfinder\ElfinderServiceProvider'

composer.jsonpost-updated-cmd 字段中加入:

"php artisan elfinder:publish"

生成配置文件:

php artisan vendor:publish --provider='Barryvdh\Elfinder\ElfinderServiceProvider' --tag=config

生成视图文件:

php artisan vendor:publish --provider='Barryvdh\Elfinder\ElfinderServiceProvider' --tag=views

注意 elfinder 引用 googlecdn ,导致访问速度慢,在

/resources/views/vendor/elfinder/ 中,将里面所有 php 文件的引用外链改成:

<script src=http://www.tuicool.com/articles/"http://cdn.bootcss.com/jquery/2.2.4/jquery.min.js">script>
<link href="http://cdn.bootcss.com/jqueryui/1.12.0/jquery-ui.min.css" rel="stylesheet">
<script src="http://cdn.bootcss.com/jqueryui/1.12.0/jquery-ui.min.js">script>

在配置文件 /config/elfinder.php 中, disks 数组改成这样:

'disks' => [
    'local',
],

配置中间件比较坑,我是用 laravel 5.2 ,所以需要在配置文件中 middleware 加入 web

'route' => [
    'prefix' => 'admin/resources/files',
    'middleware' => ['web', 'auth'], //Set to null to disable middleware filter
],

缩略图不显示问题,在配置文件中的 root_options 中加入:

'root_options' => array(
    'tmbURL' => '/.tmb'
),

最后为了 tinyMCE 能正常调用 elfinder ,在你的项目加入如下 js 代码:

function elFinderBrowser (field_name, url, type, win) {
  tinymce.activeEditor.windowManager.open({
    file: '/admin/resources/files/tinymce4',// use an absolute path!
    title: 'elFinder 2.0',
    width: 900,
    height: 450,
    resizable: 'yes'
  }, {
    setUrl: function (url) {
      win.document.getElementById(field_name).value = url;
    }
  });
  return false;
}

暂时应该没什么问题了吧,希望各位能 star 我的项目。。。

 
标签: Laravel
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • nginx 各类网站设置 (laravel , thinkphp , nod
    基础部分设置[root@centos ~]# vim /opt/nginx/conf/nginx.confuser www www;worker_processes auto;pid logs/nginx.pid;worker_rlimit_nofile 100000;events {use epoll;multi_accept on;worker_connections 65535 ;}http {include mime.types;default_type
    02-09
  • PHP trait 特性在 Laravel 中的使用个人心得
    trait 是在PHP5.4中为了方便代码复用的一种实现方式,但目前我在看的的PHP项目中较少看的有程序员去主动使用这个实现方式,在laravel中有很多 trait 的使用,关于trait 在 laravel 的使用请参看 Laravel 在哪些地方用了 trait?我曾在 Laravel 中大型项目面向
    02-09
  • 让我们用 laravel-mix 为 TypeScript 和 Sass
    介绍前端编译TypeScript、Sass、模板引擎等时经常用到Gulp和webpack。这是我个人的印象,但它们似乎都难以管理,因为它们的描述往往复杂而冗长。我不想积极进行,因为我要担心加载器的顺序并且有很多配置选项,我必须花时间去了解它们。我想推荐那里laravel
  • PHP Laravel软删除的实现方法介绍
    用Laravel 自带的 Eloquent ORM 来实现软删除。首先在数据迁移文件中添加删除时间字段./database/migrations/2014_10_12_000000_create_users_table.php?phpuse Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illu
  • Laravel中如何使用PHP的装饰器模式 php laravel
    本文小编为大家详细介绍“Laravel中如何使用PHP的装饰器模式”,内容详细,步骤清晰,细节处理妥当,希望这篇“Laravel中如何使用PHP的装饰器模式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。装饰器模式定义:它可以帮助您在
    02-08 laravelphp
  • PHP laravel使用自定义邮件类实现发送邮件
    PHP laravel使用自定义邮件类实现发送邮件
    当登录邮箱为腾讯企业邮箱的时候。Phpmailer发送邮件就不好用了,具体哪里不好用,我没真没找到。但是,邮件得发啊,怎么办呢?我这里搞了一个自定义的发送邮件类,腾讯企业邮箱也可用。但是,邮件发送失败,不会返回报错信息,这个可能是有点坑。源码如下:?
  • 详解PHP laravel中的加密与解密函数
    目录一:简介二:配置三:使用加密/解密1:加密2:不使用序列化进行加密3:解密Laravel为我们提供了完整的加密方法及加密模式。我之前一般在加密的时候使用的是我自己写的加密函数,但是这个玩意,有的位置还是不太使用,当然,破解的话,基本上也是不可能的
  • PHP laravel缓存cache机制详解
    目录一、访问多个缓存存储二、从缓存中获取数据1.获取数据并设置默认值2.检查缓存项是否存在3.数值增加/减少4.获取存储5.获取删除三、缓存中存储数据1.获取存储数据2.缓存不存在时存储数据3.永久存储数据四、从缓存中移除数据Laravel中的cache为我们提供了三
  • PHP laravel实现导出PDF功能
    PHP laravel实现导出PDF功能
    目录一、laravel-tcpdf二、tcpdf三、TCPDF解决保存中文文件名的方法补充一、laravel-tcpdf导出PDF文件Laravel框架为我们集成了一个插件tcpdf。下载地址:https://github.com/elibyy/tcpdf-laravel然后使用composer进行安装就可以了。具体安装过程,请查看文末
  • PHP laravel缓存cache机制怎么实现
    今天小编给大家分享一下PHP laravel缓存cache机制怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Laravel中的cache为我们
点击排行