2017-11-29 1 views
0

Ich verwende diese ckeditor Erweiterung für yii2 https://packagist.org/packages/wadeshuler/yii2-ckeditor-cdnyii2 ckeditor Bildquelle URL fehlt

habe ich Verzeichnisse backend/web/uploads/Bilder und gab ihnen Rechte 777

Ich konfigurierte backend/config/Haupt .php wie diese

'modules' => [ 
     'ckeditor' => [ 
      'class' => 'wadeshuler\ckeditor\Module', // required and dont change!!! 

      'uploadDir' => '@app/web/uploads', // must be file path (required when using filebrowser*BrowseUrl below) 
      'uploadUrl' => '@web/uploads',  // must be valid URL (required when using filebrowser*BrowseUrl below) 

      // These are basically passed to the `CKEDITOR.replace()` 
      'widgetClientOptions' => [ 

       'filebrowserImageBrowseUrl' => '/ckeditor/default/image-browse', 
       'filebrowserImageUploadUrl' => '/ckeditor/default/image-upload', 
      ] 
     ], 

    ], 

Put in Form

use wadeshuler\ckeditor\widgets\CKEditor; 
<?= $form->field($model, 'body')->widget(CKEditor::className()) ?> 

Und wenn ich ein Bild hochlade und auf "An den Server senden" klicke, wird es nicht hochgeladen, und wenn ich auf "OK" klicke, heißt es, dass die Bildquellen-URL fehlt.

Vielleicht hat jemand dieses Problem schon einmal konfrontiert? By the way, wenn ich diese Zeilen

//'uploadDir' => '@app/web/uploads', // must be file path (required when using filebrowser*BrowseUrl below) 
     //'uploadUrl' => '@web/uploads',  // must be valid URL (required when using filebrowser*BrowseUrl below) 

nichts geändert zu entfernen. Derselbe Fehler.

Antwort

0

es ist vielleicht ein bisschen veraltet, aber wer weiß, dass jemand über das gleiche Problem stolpern könnte, obwohl meins ein bisschen anders im Rahmen ist. Ich benutze codeigniter und versuche, es mit ckeditor upload image plugin zu integrieren, aber Sie sollten die Idee bekommen, weil der Rückgabewert für ckeditor der gleiche ist.

here ist eine Lösung, die ich gefunden, auf den Link verweisen und siehe Beispiel 3 Abschnitt

, die wie folgt aussieht:

// Required: anonymous function reference number as explained above. 
$funcNum = $_GET['CKEditorFuncNum'] ; 
// Optional: instance name (might be used to load a specific configuration file or anything else). 
$CKEditor = $_GET['CKEditor'] ; 
// Optional: might be used to provide localized messages. 
$langCode = $_GET['langCode'] ; 

// Check the $_FILES array and save the file. Assign the correct path to a variable ($url). 
$url = '/path/to/uploaded/file.ext'; 
// Usually you will only assign something here if the file could not be uploaded. 
$message = ''; 

echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction($funcNum, '$url', '$message');</script>"; 

Sie sollten beachten, dass filebrowserUploadUrl Optionen auf Ihre yii Funktion hingewiesen werden, müssen die Behandeln Sie das hochgeladene Bild, das in diesem Fall wie der obige Beispielcode aussieht. und vergessen Sie nicht, uploadimage und filebrowser auf extraPlugins Optionen hinzuzufügen.

hoffe das hilft.