Codeigniter'a ckeditor ve responsivefilemanager entegre etmek

By Admin
In BackEnd
27/Ağustos/2020
Okuma Süresi: 3 dk.

Merhabalar,

Öncelikle CKeditor'u nasıl entegre ettiğimizi anlatacam.

1- Şu sayfadan full sürümü indirip güvenli bir klasörün içine atıyoruz; https://ckeditor.com/ckeditor-4/download/

2- Kendi sitesindeki dökümantasyon şu sayfayı görüntüleyebiliyor muyuz onu soruyor; http:///ckeditor4/samples/index.html

eğer bu sayfayı görüntülüyorsak herhangi bir sorunla karşılaşmayacağız demektir.

3- Şu şekilde basit bir kullanım örneği verilmiş; https://ckeditor.com/docs/ckeditor4/latest/guide/dev_installation.html#adding-ckeditor-4-to-your-page

burada dikkat etmemiz gereken en önemli şey textarea'mızın id ve name değerlerinin biraz aşağıda yazdığımız ckeditor'u çalıştıran script kodlarındakiyle aynı olmasıdır.  Ya peki aynı sayfada birden fazla textarea varsa ne olacak? İşte o zaman da ilk ve en basit çözüm olan 

CKEDITOR.replace( 'editor1' );

CKEDITOR.replace( 'editor2' );

şeklinde kullanabiliriz. Biz böyle yapmayacaz tabii ki. 

4- Birden fazla textarea kullanabiliriz ve o yüzden farklı nameler kullanabiliriz. Ayrıca biz ckeditör'ü sayfamıza include ederken header, footer gibi her sayfaya dahil ettiğimiz dosyaların içinde çağıracaz. O yüzden bir üstteki basit ama statik yöntem yerine daha mantıklı ve dinamik olan şu kodları kullanacaz.

Burada textarea'ların classlarına bir editor class'ı ekledik ve dedik ki "classları editor olan bütün textarea'ları bul ve id attr değerlerini al, her biri için bu id değerlerini "id" değişkenine ata ve replace içinde yazdır. Bu şekilde bir döngü oluşturmuş olduk ve textarea'nın name'si ne olursa olsun bizi ilgilendirmiyor artık. O id değerini otomatik alıp bir döngüyle çoğaltıyor otomatik olarak. 

5- Ckeditor için başka bir şey yapmaya gerek yok. Yalnız ilk kurulum esnasında iconların yarım yamalak göründüğü saçma sapan bir sorun yaşamıştım. O ve benzeri sorunları çözmek için sayfadaki bütün cookie, cache, çerez merez ne varsa silin. sadece ctrl+f5 işe yaramaz. 

6- Şimdi geçelim bu ckeditor üzerinde çalışacak responsivefilemanager'ı entegre etmeye. şuradan dosyaları indiriyoruz; https://www.responsivefilemanager.com/index.php#download-section

ben yine bu indirdiğim klasörü assets klasörüm içine koydum yani ckeditörle aynı yere attım.

7- config içindeki config.php içinde "upload_dir" kısmını düzenlememiz gerekiyor. bu filemanager yüklediği resimleri filemanager klasörüyle aynı dizinde otomatik oluşturduğu source isimli klasörde tutuyor. işte o source klasörünün yolunu oraya doğru girmemiz lazım. burayı düzeltmeden olmuyor.
8- yukarıda bir script kodunun içinde yazdığımız filemanager kodlarındaki yolun da doğru olduğuna emin olun.

 

bütün bu 8 maddeyi de eksiksiz yaparsanız wordpress'teki gibi gayet başarılı ve görsel açıdan zengin bir dosya yöneticiniz olur.

Özet geçecek olursak yine diğer eklentilerde olduğu gibi ckeditör veya responsivefilemanager için de durum aynı. Sadece onlara ait js veya varsa css dosyalarını sayfamıza include ediyoruz. Sonrasında da bunların sayfamızda çalışması yani tetiklenmesi için küçük bir script kodu yazıyoruz. Çıkabilecek sorunlar da yine aynı. Ya dosya yolunu yanlış giriyoruz, ya da cacheleri temizlemiyoruz vs. gibi basit sorunlar çıkıyor. 


Codeigniter'da bulamadığım son id değerini getiren helper
Codeigniter'da Helper Oluştururken Query Results Mantığı