Bu yazımızda FCKeditör'ün geliştirilmesine son verilerek ortaya çıkan iki yeni ürünün kurulum ve asp.net entegrasyonunu inceliyor olacağız.Aslında bunlar FCKeditor un iki ye bölünmüş hali .CKEditor, FCKeditor'ün editör özelliklerinin yeni bir arayüzle dahada geliştirilerek sunulmuş hali.CKFinder ise yine FCKeditor ile yaptığımız sunucuda gezinme dosya yükleme işlemlerini yaptığımız editör'ün geliştirilmiş hali.
Bu araçlardan CKeditör ün asp.net için bir dll i bulunmuyor.Sitede önerilen yöntem ise klasik post yöntemi ile editörün verisini okumak.Ckeditor'ün bir dll i olmadigi icin Ckfinder'ıda elle entegre etmemiz gerekiyor.
İlk Olarak Kuruluma bakıcak olursak
Asp.net CKeditor Kurulumu
Öncelikle kullanacağımız editörün dosyalarını buradan indiriyoruz.İndirme işleminin ardından indirdiğimiz dosyaları sitemizin anadizinine çıkartıyoruz.Editörümüzün çalışıp çalışmadığını test etmek için şu adresi kullanabilirsiniz
http://<siteniz>/<CKEditor yükleme pathi>/_samples/index.html
Kendi istediğim asp.net sayfasına eklemek için ise sitemizde editörü kullanacağımız sayfanın üstüne şu js dosyasını ekliyoruz.
<script src=
"../ckeditor/ckeditor.js"
type=
"text/javascript"
>
Ardından sitemize bir adet Multiline textbox ekliyoruz.Bu multiline textbox'ı javascript yardımı ile CkEditör kontrolüne dönüştüreceğiz.
<asp:TextBox ID=
"
txtCKeditorAdi
"
runat=
"server"
TextMode=
"MultiLine"
></asp:TextBox>
Sayfamıza eklediğimiz textbox ı ckeditöre dönüştürmek için ise sayfamıza şu javascript kodunu ekliyoruz.
<script type=
"text/javascript"
>
window.onload =
function
() {
var
editor = CKEDITOR.replace(
'<% =
txtCKeditorAdi
.ClientID %>'
);
};
</script>
Asp.Net Ck Finder Kurulumu
Ck finder kurulumuna bakıcak olursak onuda buraya tıklayarak indirdikten sonra sitemizin anadizinine çıkartıyoruz.Ardından kendi içindeki Ckfinder.dll i projemizin bin klasörün kopyalıyoruz.Bu işlemi yaptıktan sonra yapmamız gereken ckfinder klasörü içindeki config.ascx i düzenlemek.
CheckAuthentication() fonksiyonu dosya yükleyecek kişilerin yetkisi olup olmadığını kontrol etmemizi sağlayan fonksiyon.Direk olarak return true; dersek her dosya yüklemeye çalışan sitemize bu editör aracılığıyla dosya yükleyebilir.Setconfig içinde ise en önemli ayar Ckfinder ın baz alacağı yükleme klasörünün adı ve konumu.Bu klasörü belirledikten sonra windows üzerinde bu klasöre IUSR_<ServerAdı> kullanıcısına bu klasöre yazma hakkı vermeliyiz.
public override bool CheckAuthentication()
{
if((bool)Session[ "IsAuthorized" ] == true)
{
return true;
}
}
public override void SetConfig()
{
BaseUrl = "/ckfinder/userfiles/";
}
Ckfinder'ı test etmek istiyorsanız Ckfinder klasörü içindeki _samples/aspx/standalone.aspx dosyasını çalıştırabilirsiniz.CkFinderı sayfamıza eklemek ise çok kolay visual studio içinde toolbox a ChooseItems ile Ckfinder.dll dosyasını seçiyoruz.Ardından toolbox ımızda zaten ckfinderımız görünüyor.Burdan sürükle bırak ile sayfamıza ekleyebiliriz.
Bu işlemlerden sonra editörümüz başarıyla çalışacaktır.Fakat eski alışık olduğumuz FCKeditör deki gibi hem dosya işlemleri hemde editör entegre bir şekilde çalışmayacak.
CKeditor ve Ckfinder entegrasyonu
Şu an için malesefki elle entegre etmekten başka bir çaremiz yok.Fakat muhtemelen yeni sürümlerde bir dll ile kolayca halledebileceğiz.Entegrasyon için CkEditor kurulumunda yazdığım js i aşşağıdaki gibi CKFinder.SetupCKEditor(editor, '/ckfinder/'); kodunu ekliyoruz.Bu kod sayesinde editörümüzü Ckfinder entegre ediliyor.
<script type=
"text/javascript"
>
window.onload =
function
() {
var
editor = CKEDITOR.replace(
'<% =
txtCKeditorAdi
.ClientID %>'
);
CKFinder.SetupCKEditor(editor,
'/ckfinder/'
);
};
</script>
Editörümüzü asp.net tarafından ulaşmak değer vermek yada değerini okumak için ise
// Atama yapmak için
txtCKeditorAdi.Text =
"İçerik"
;
//Okumak için
string
icerik =
txtCKeditorAdi
.Text;
Kolay gelsin
Ömer Faruk Sarıkaya