2017-02-18 5 views
1

yii2高度な作業Redactorを使用すると、テキスト領域は表示されますがイメージの挿入に失敗します。UploadedFileチュートリアルでYii2 Webでテストしましたが、イメージは正常にアップロードされ、ディレクトリに表示されますが、redactorは動作しません。ここで

は、私の記事のコントローラである:ここで

namespace backend\controllers; 

use yii\web\Controller; 
use common\models\Article; 
use Yii; 

class ArticleController extends Controller{ 

    public $layout='empty'; 

    public function actionIndex(){ 
     $model = new Article; 

     if($model->load(Yii::$app->request->post()) && $model->validate()){ 
      echo "good operation"; 
     } 
     return $this->render('index', ['model'=>$model]); 
    } 

は私のモデルである:

namespace common\models; 

use yii\db\ActiveRecord; 
use Yii; 

class Article extends ActiveRecord{ 

    //const SCENARIO_LOGIN = 'login'; 
    //const SCENARIO_REGISTER = 'register'; 

    public static function tableName(){ 
     return '{{%article}}'; 
    } 

    public function rules(){ 
     return [ 
      [['title','description','content'],'required','message'=>'{attribute} required'], 
      ['title','unique','message'=>'sorry,{value} is taken'], 
      ['status','in','range'=>[0,1]], 
      ]; 
    } 


} 

とビュー:

<?php 
use yii\helpers\Url; 
use yii\widgets\Breadcrumbs; 
use yii\helpers\Html; 
use yii\widgets\ActiveForm; 
?> 

<?=Breadcrumbs::widget([ 
    'homeLink'=> ['label'=>'Home'], 
    'links'=> [ 
      ['label'=>'Add New Article'], 
     ], 
])?> 

    <?php 
    $form = ActiveForm::begin([ 
      'id'=>'article', 
      'options'=>['class'=>'wenzhang'], 
     ]); 
    ?> 
    <?=$form->field($model, 'title')?> 
    <?=$form->field($model,'description')?> 
    <?=$form->field($model,'content')->widget(\yii\redactor\widgets\Redactor::className(), 
     [ 
      'clientOptions'=>[ 
        'imageManagerJson' =>['/redactor/upload/image-json'], 
        'lang'=>'zh_cn', 
        'plugins'=>['clips','fontcolor','imagemanager'], 
        'imageUpload' => \yii\helpers\Url::to(['/redactor/upload/image']), 
       ],  
     ] 
     )?> 

    <button>Submit</button> 
    <?php ActiveForm::end()?> 

私は一番下にyii2デバッグを開いて、エラーをチェックしますエラーが次のように続きます:

exception 'yii\base\InvalidConfigException' with message 'Invalid config $uploadDir' in /home/ubuntu/workspace/yii2AdvancedTest/vendor/yiidoc/yii2-redactor/RedactorModule.php:51 
Stack trace: 
#0 /home/ubuntu/workspace/yii2AdvancedTest/vendor/yiidoc/yii2-redactor/actions/ImageManagerJsonAction.php(33): yii\redactor\RedactorModule->getSaveDir() 
#1 [internal function]: yii\redactor\actions\ImageManagerJsonAction->run() 
#2 /home/ubuntu/workspace/yii2AdvancedTest/vendor/yiisoft/yii2/base/Action.php(92): call_user_func_array(Array, Array) 
#3 /home/ubuntu/workspace/yii2AdvancedTest/vendor/yiisoft/yii2/base/Controller.php(154): yii\base\Action->runWithParams(Array) 
#4 /home/ubuntu/workspace/yii2AdvancedTest/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('image-json', Array) 
#5 /home/ubuntu/workspace/yii2AdvancedTest/vendor/yiisoft/yii2/web/Application.php(100): yii\base\Module->runAction('redactor/upload...', Array) 
#6 /home/ubuntu/workspace/yii2AdvancedTest/vendor/yiisoft/yii2/base/Application.php(375): yii\web\Application->handleRequest(Object(yii\web\Request)) 
#7 /home/ubuntu/workspace/yii2AdvancedTest/backend/web/index.php(18): yii\base\Application->run() 
#8 {main} 

は、それから私は、設定を確認するためのredactorモジュールに行く:

public $controllerNamespace = 'yii\redactor\controllers'; 
    public $defaultRoute = 'upload'; 
    public $uploadDir = '@webroot/uploads'; 
    public $uploadUrl = '@web/uploads'; 
    public $imageUploadRoute = ['/redactor/upload/image']; 
    public $fileUploadRoute = ['/redactor/upload/file']; 
    public $imageManagerJsonRoute = ['/redactor/upload/image-json']; 
    public $fileManagerJsonRoute = ['/redactor/upload/file-json']; 
    public $imageAllowExtensions = ['jpg', 'png', 'gif', 'bmp', 'svg']; 

すべてが正しく設定されているようだ、と/ウェブ/アップロードに、私は前にUploadedFileテストに画像を成功裏にアップロードしました。 また、インデックス「ClientOptions」のディレクトリを手動で複数回割り当てようとしましたが、問題は解決しません。

答えて

1

ウィジェットの更新バージョン、あなたがここに Github見ることができるように、開発者にこのエラー

+0

を防ぐためにいくつかの変更を行うありがとう、あなたのリンクは、問題を解決しました。ちょうど私がキーワードでgoogleを検索したのかと疑問に思っています。そのページは結果ではなく、どうやってそれを見つけましたか? – newbrant

+0

ええと、私はgithub repoでこのエラーテキストを見つけて、開発者がエラーを防ぐためにコードを変更していることを確認します。 –

関連する問題