欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

yii2整合百度編輯器umeditor及umeditor圖片上傳問(wèn)題的解決辦法

 更新時(shí)間:2016年04月20日 14:20:54   作者:白狼棧  
這篇文章主要介紹了yii2整合百度編輯器umeditor及umeditor圖片上傳問(wèn)題的解決辦法的相關(guān)資料,需要的朋友可以參考下

我們接下來(lái)就來(lái)聊聊Yii2框架是如何整合百度編輯器umeditor的。

umeditor是啥,我只聽(tīng)過(guò)ueditor,你這umeditor是不是盜版的東東喃?umeditor呢,說(shuō)白了就是mini版的ueditor,按照百度官方說(shuō)法,其實(shí)就是編輯器中的"短軟小",但是功能俱全??瓤龋蹅兓貧w正題。

首先勒,咱們先去官網(wǎng)下載一份mini版的ueditor umeditor,注意哦,是um editor。

下載下來(lái)解壓放到項(xiàng)目根目錄下面的 /css目錄下 命名為umeditor,具體位置各位隨意,后面能引用的到就行。

第二步,我們先去擴(kuò)展下backend\assets\Appset類(lèi),哎呀我擦,為啥要擴(kuò)展這么個(gè)玩意,跟咱們的umeditor整合啥關(guān)系勒,半路殺出個(gè)程咬金出來(lái)。這里擴(kuò)展下這個(gè)類(lèi)文件的意圖是為了接下來(lái)在文件中方便引入css js文件滴。

很簡(jiǎn)單,在Appset方法中增加下面兩個(gè)方法即可

//定義按需加載JS方法,注意加載順序在最后 
public static function addScript($view, $jsfile) { 
$view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'backend\assets\AppAsset']); 
} 
//定義按需加載css方法,注意加載順序在最后 
public static function addCss($view, $cssfile) { 
$view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'backend\assets\AppAsset']); 
}

接下來(lái),按照下面的配置即可。

先做說(shuō)明,此處我們假設(shè)有一個(gè)文章article表,有一個(gè)內(nèi)容content字段需要顯示為百度編輯器。

按照yii2的表單模型來(lái)看,我們修改article\_form.php文件中的content字段

<?= $form->field($model, 'content')->textarea(['style' => 'width:760px;height:500px;']) ?> 

該文件引入Appset類(lèi)并引入相關(guān)的css js文件如下

use backend\assets\AppAsset;
AppAsset::register($this);
AppAsset::addCss($this,'/css/umeditor/themes/default/css/umeditor.css');
AppAsset::addScript($this,'/css/umeditor/umeditor.config.js');
AppAsset::addScript($this,'/css/umeditor/umeditor.min.js');
AppAsset::addScript($this,'/css/umeditor/lang/zh-cn/zh-cn.js');

然后只需要在當(dāng)前頁(yè)面底部注冊(cè)下面的js代碼即可實(shí)現(xiàn)

<?php $this->beginBlock('js-block') ?>
$(function () {
var um = UM.getEditor('article-content', {
});
});
<?php $this->endBlock() ?>
<?php $this->registerJs($this->blocks['js-block'], \yii\web\View::POS_END); ?> 

關(guān)于article-content怎么來(lái)滴喃,這個(gè)就是我們要綁定的目標(biāo)對(duì)象,即content。article-content是當(dāng)前該對(duì)象的id標(biāo)識(shí)。

ok,到此百度編輯器基本上整合完畢,現(xiàn)在趕快去添加一篇文章試試看吧,記得更新看看編輯器里面是否也有內(nèi)容哦。

下面給大家介紹 yii2解決百度編輯器umeditor圖片上傳問(wèn)題。

yii2框架整合了百度編輯器,因?yàn)槲募蟼鞑捎玫氖莥ii2自帶的UploadedFile,這就難免umeditor上傳不成功問(wèn)題,解決問(wèn)題的只需要兩個(gè)操作步驟,我們來(lái)看看具體實(shí)現(xiàn)

首先我們先把umeditor的配置搞好,這里只需要更改imageUrl配置項(xiàng)即可,我們修改其指向/tools/um-upload

那下一步自然是實(shí)現(xiàn)/tools/um-upload方法了,

按照ueditor的實(shí)現(xiàn)來(lái)看,這里我們上傳成功后只需要返回成功信息即可

use backend\models\Upload;
use yii\web\UploadedFile;
/**
* 百度umeditor上傳
*/
public function actionUmUpload ()
{
$model = new Upload();

if (Yii::$app->request->isPost) {

$model->file = UploadedFile::getInstance($model, 'file');

$dir = ‘文件保存目錄';
if (!is_dir($dir))
mkdir($dir);

if ($model->validate()) {
$fileName = $model->file->baseName . '.' . $model->file->extension;
$dir = $dir.'/'. $fileName;
$model->file->saveAs($dir);
$info = [
"originalName" => $model->file->baseName,
"name" => $model->file->baseName,
"url" => $dir,
"size" => $model->file->size,
"type" => $model->file->type,
"state" => 'SUCCESS',
];
exit(json_encode($info));
} 
}
}

特別提醒:上述返回的$info信息中state狀態(tài)只能是SUCCESS,區(qū)分大小寫(xiě)

相關(guān)文章

  • ThinkPHP3.1查詢語(yǔ)言詳解

    ThinkPHP3.1查詢語(yǔ)言詳解

    這篇文章主要介紹了ThinkPHP3.1查詢語(yǔ)言,需要的朋友可以參考下
    2014-06-06
  • 函數(shù)中使用require_once問(wèn)題深入探討 優(yōu)雅的配置文件定義方法推薦

    函數(shù)中使用require_once問(wèn)題深入探討 優(yōu)雅的配置文件定義方法推薦

    這篇文章主要介紹了函數(shù)中使用require_once問(wèn)題深入探討,優(yōu)雅的配置文件定義方法推薦,最終用一個(gè)靜態(tài)類(lèi)來(lái)定義配置文件獲勝,完美解決函數(shù)中使用require_once的問(wèn)題,需要的朋友可以參考下
    2014-07-07
  • PHP中常見(jiàn)的錯(cuò)誤與異常處理總結(jié)大全

    PHP中常見(jiàn)的錯(cuò)誤與異常處理總結(jié)大全

    任何程序員在開(kāi)發(fā)時(shí)都可能遇到過(guò)一些失誤,或其他原因造成錯(cuò)誤的發(fā)生。當(dāng)然,用戶如果不愿意或不遵循應(yīng)用程序的約束,也會(huì)在使用時(shí)引起一些錯(cuò)誤發(fā)生。下面這篇文章主要給大家介紹了關(guān)于PHP中常見(jiàn)的錯(cuò)誤與異常處理,需要的朋友可以參考下,
    2017-08-08
  • PHP面向?qū)ο蠼坛讨远x類(lèi)

    PHP面向?qū)ο蠼坛讨远x類(lèi)

    所謂面向?qū)ο缶褪鞘裁磿r(shí)候什么東西做什么,我們?cè)O(shè)計(jì)類(lèi)的時(shí)候需要想的就是怎么做的內(nèi)容,那么怎么樣的一個(gè)類(lèi)才算是符合OOP的思想呢,答案是:這個(gè)類(lèi)寫(xiě)好之后,在使用的過(guò)程中,能準(zhǔn)確的代表一個(gè)事物,在書(shū)寫(xiě)的時(shí)候代碼要和思維描述一致,即這個(gè)東西做什么。
    2014-06-06
  • Smarty分頁(yè)實(shí)現(xiàn)方法完整實(shí)例

    Smarty分頁(yè)實(shí)現(xiàn)方法完整實(shí)例

    這篇文章主要介紹了Smarty分頁(yè)實(shí)現(xiàn)方法,涉及基于Smarty的數(shù)據(jù)庫(kù)查詢、分頁(yè)相關(guān)計(jì)算與模板操作技巧,需要的朋友可以參考下
    2016-05-05
  • Laravel 創(chuàng)建指定表 migrate的例子

    Laravel 創(chuàng)建指定表 migrate的例子

    今天小編就為大家分享一篇Laravel 創(chuàng)建指定表 migrate的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • Codeigniter校驗(yàn)ip地址的方法

    Codeigniter校驗(yàn)ip地址的方法

    這篇文章主要介紹了Codeigniter校驗(yàn)ip地址的方法,實(shí)例分析了Codeigniter獲取與校驗(yàn)ip地址的技巧,需要的朋友可以參考下
    2015-03-03
  • ThinkPHP的L方法使用簡(jiǎn)介

    ThinkPHP的L方法使用簡(jiǎn)介

    thinkPHP的L方法用于啟用多語(yǔ)言的情況下,設(shè)置和獲取當(dāng)前的語(yǔ)言定義。這篇文章主要介紹了ThinkPHP的L方法使用簡(jiǎn)介,需要的朋友可以參考下
    2014-06-06
  • PHP設(shè)計(jì)模式之觀察者模式(Observer)詳細(xì)介紹和代碼實(shí)例

    PHP設(shè)計(jì)模式之觀察者模式(Observer)詳細(xì)介紹和代碼實(shí)例

    這篇文章主要介紹了PHP設(shè)計(jì)模式之觀察者模式(Observer)詳細(xì)介紹和代碼實(shí)例,需要的朋友可以參考下
    2014-04-04
  • PHP制作萬(wàn)年歷

    PHP制作萬(wàn)年歷

    本文主要介紹了使用PHP制作萬(wàn)年歷的方法以及實(shí)現(xiàn)此功能的幾個(gè)要點(diǎn)并提供了全部源代碼,這里推薦給小伙伴們
    2015-01-01

最新評(píng)論