Dokumentasi resmi kurang jelas - apa cara yang benar untuk mengintegrasikan browser / uploader file kustom dengan CKEditor? (v3 - bukan FCKEditor)
Mulailah dengan mendaftarkan browser / pengunggah kustom Anda saat Anda membuat instantiate CKEditor. Anda dapat menentukan URL yang berbeda untuk browser gambar vs. browser file umum.
<script type="text/javascript">
CKEDITOR.replace('content', {
filebrowserBrowseUrl : '/browser/browse/type/all',
filebrowserUploadUrl : '/browser/upload/type/all',
filebrowserImageBrowseUrl : '/browser/browse/type/image',
filebrowserImageUploadUrl : '/browser/upload/type/image',
filebrowserWindowWidth : 800,
filebrowserWindowHeight : 500
});
</script>
Kode khusus Anda akan menerima parameter GET yang disebut CKEditorFuncNum. Simpan - itulah fungsi panggilan balik Anda. Katakanlah Anda memasukkannya ke dalam $callback
.
Ketika seseorang memilih file, jalankan JavaScript ini untuk memberi tahu CKEditor file mana yang dipilih:
window.opener.CKEDITOR.tools.callFunction(<?php echo $callback; ?>,url)
Di mana "url" adalah URL dari file yang mereka pilih. Parameter opsional ketiga bisa berupa teks yang ingin Anda tampilkan dalam dialog peringatan standar, seperti "file ilegal" atau sesuatu. Tetapkan url ke string kosong jika parameter ketiga adalah pesan kesalahan.
Tab "upload" CKEditor akan mengirimkan file di kolom "upload" - dalam PHP, yang nilainya adalah $ _FILES ['upload']. CKEditor ingin server Anda menghasilkan output adalah blok JavaScript lengkap:
$output = '<html><body><script type="text/javascript">window.parent.CKEDITOR.tools.callFunction('.$callback.', "'.$url.'","'.$msg.'");</script></body></html>';
echo $output;
Sekali lagi, Anda perlu memberikan parameter callback itu, URL file, dan secara opsional pesan. Jika pesan berupa string kosong, tidak ada yang akan ditampilkan; jika pesannya error, maka url harus berupa string kosong.
Dokumentasi resmi CKEditor tidak lengkap tentang semua ini, tetapi jika Anda mengikuti yang di atas, itu akan bekerja seperti juara.
Saya telah memposting satu tutorial kecil tentang mengintegrasikan FileBrowser yang tersedia di FCKEditor lama ke CKEditor.
http://www.mixedwaves.com/2010/02/integrating-fckeditor-filemanager-in-ckeditor/
Ini berisi petunjuk langkah demi langkah untuk melakukannya dan itu cukup sederhana. Saya harap siapa pun yang mencari ini akan menemukan tutorial ini bermanfaat.
sumber
Saya baru saja menjalani proses belajar sendiri. Saya mengetahuinya, tetapi saya setuju dokumentasinya ditulis dengan cara yang agak mengintimidasi saya. Momen "aha" yang besar bagi saya adalah memahami bahwa untuk browsing, yang dilakukan CKeditor hanyalah membuka jendela baru dan memberikan beberapa parameter di url. Ini memungkinkan Anda untuk menambahkan parameter tambahan tetapi perlu diketahui bahwa Anda perlu menggunakan encodeURIComponent () pada nilai Anda.
Saya menyebut browser dan pengunggah dengan
Untuk browser , di jendela yang terbuka (browse.php) Anda menggunakan php & js untuk memberikan daftar pilihan dan kemudian pada handler onclick yang Anda sediakan, Anda memanggil fungsi CKeditor dengan dua argumen, url / path ke gambar yang dipilih dan CKEditorFuncNum disediakan oleh CKeditor di url:
Demikian pula, pengunggah hanya memanggil url yang Anda berikan, mis., Upload.php , dan sekali lagi menyediakan $ _GET ['CKEditorFuncNum']. Targetnya adalah iframe jadi, setelah Anda menyimpan file dari $ _FILES Anda meneruskan umpan balik Anda ke CKeditor sebagai berikut:
Di bawah ini adalah skrip browser khusus yang mudah dipahami. Meskipun tidak memungkinkan pengguna untuk menavigasi di dalam server, ini memungkinkan Anda untuk menunjukkan direktori mana yang akan menarik file gambar saat memanggil browser.
Itu semua pengkodean yang agak dasar sehingga harus berfungsi di semua browser yang relatif modern.
CKeditor hanya membuka jendela baru dengan url yang disediakan
// ========= kode lengkap di bawah untuk browse.php
sumber
Saya menghabiskan beberapa saat mencoba mencari tahu yang satu ini dan inilah yang saya lakukan. Saya telah memecahnya dengan sangat sederhana karena itulah yang saya butuhkan.
Tepat di bawah text area ckeditor Anda, masukkan file upload seperti ini >>>>
'dan kemudian tambahkan file unggahan Anda, ini milik saya yang ditulis dalam ASP. Jika Anda menggunakan PHP, dll. Cukup ganti ASP dengan skrip unggahan Anda tetapi pastikan halaman mengeluarkan hal yang sama.
sumber
Ini adalah pendekatan yang saya gunakan. Ini cukup mudah, dan berfungsi dengan baik.
Di direktori root editor CK ada file bernama config.js
Saya menambahkan ini (Anda tidak memerlukan querystring, ini hanya untuk pengelola file kami). Saya juga menyertakan beberapa skinning dan perubahan tombol default yang ditunjukkan:
Kemudian, manajer file kami menyebutnya:
sumber
Sebuah artikel di zerokspot berjudul Custom filebrowser callbacks di CKEditor 3.0 menangani hal ini. Bagian yang paling relevan dikutip di bawah ini:
sumber
Mulailah dengan mendaftarkan browser / pengunggah kustom Anda saat Anda membuat instantiate CKEditor.
Kode untuk file unggahan (ckFileUpload.php) & letakkan file unggahan di direktori root proyek Anda.
Dokumentasi Ck-editor tidak jelas setelah melakukan banyak R&D untuk unggahan file kustom akhirnya saya menemukan solusi ini. Ini berhasil untuk saya dan saya harap ini akan membantu orang lain juga.
sumber
Untuk orang-orang yang bertanya-tanya tentang implementasi Servlet / JSP, inilah cara Anda melakukannya ... Saya juga akan menjelaskan uploadimage di bawah ini.
1) Pertama, pastikan Anda telah menambahkan variabel browser file dan uploadimage ke file config.js Anda. Pastikan Anda juga memiliki folder uploadimage dan filebrowser di dalam folder plugin juga.
2) Bagian ini membuat saya tersandung:
Dokumentasi situs web Ckeditor mengatakan Anda perlu menggunakan dua metode ini:
Jadi jika Anda telah menginisialisasi ckeditor di halaman editor.jsp maka Anda perlu membuat browser file (dengan html / css / javascript dasar) di halaman filebrowser.jsp .
editor.jsp (yang Anda butuhkan adalah ini di tag skrip Anda) Halaman ini akan membuka filebrowser.jsp di jendela mini saat Anda mengklik tombol jelajahi server.
filebrowser.jsp (adalah file browser khusus yang Anda buat yang akan berisi metode yang disebutkan di atas)
3) FileBrowser Servlet
4) UploadImage Servlet
Kembali ke file config.js Anda untuk ckeditor dan tambahkan baris berikut:
Kemudian Anda juga dapat menarik dan melepas file:
Dan itu semua orang. Semoga bisa membantu seseorang.
sumber