﻿
{"id":3169,"date":"2015-08-12T02:34:49","date_gmt":"2015-08-12T02:34:49","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=3169"},"modified":"2015-08-12T02:35:12","modified_gmt":"2015-08-12T02:35:12","slug":"asp-net-mvc-ckeditor-ile-birlikte-ckfinder-entegresi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-ckeditor-ile-birlikte-ckfinder-entegresi\/","title":{"rendered":"Asp.NET MVC &#8211; CKEditor \u0130le Birlikte CKFinder Entegresi"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>\u00d6nceki yaz\u0131lar\u0131mdan olan <a href=\"http:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-ckeditor-entegresi-ve-kullanimi\/\" target=\"_blank\">Asp.NET MVC CKEditor Entegresi ve Kullan\u0131m\u0131<\/a> ba\u015fl\u0131kl\u0131 yaz\u0131mda CKEditor&#8217;\u00fcn nas\u0131l kullan\u0131ld\u0131\u011f\u0131 hakk\u0131nda isti\u015fare yapm\u0131\u015ft\u0131k.Lakin ilgili makalede CKFinder entegrasyonuna de\u011finmedi\u011fim i\u00e7in bu eksikli\u011fi kapatmak a\u00e7\u0131s\u0131ndan bu yaz\u0131ya karar verdim.<\/p>\n<p>Yaz\u0131m\u0131za ba\u015flamadan \u00f6nce, yukar\u0131da verdi\u011fim yaz\u0131daki baz\u0131 bilgileri burada tekrarlam\u0131\u015f olaca\u011f\u0131z.Buna ra\u011fmen CKEditor kurulumuyla ilgili net ve detayl\u0131 bir i\u00e7erik bekliyorsan\u0131z \u00f6ncelikle yukar\u0131daki linkte verdi\u011fim yaz\u0131m\u0131 okumal\u0131s\u0131n\u0131z.<\/p>\n<p>\u00d6ncelikle CKFinder&#8217;\u0131n ne oldu\u011fundan bahsedelim.<\/p>\n<p>CKFinder, CKEditor mod\u00fcl\u00fcne entegre edilebilen ve sunucu bazl\u0131 i\u015flemlerde i\u015fbirli\u011fi sa\u011flayan bir paket mod\u00fcld\u00fcr.Genellikle CKFinder ile CKEditor&#8217;de makale tarz\u0131nda yaz\u0131lar yaz\u0131l\u0131rken, sunucuya resim, video ve flash tarz\u0131nda dosyalar y\u00fckleyebilir ve bu y\u00fcklenen dosyalar\u0131 CKEditor&#8217;de ki olu\u015fturalan makalede e\u015fzamanl\u0131 olarak kullanabilirsiniz.<\/p>\n<p>\u00d6nceki yaz\u0131m\u0131 okuyanlar bilir ki, CKEditor&#8217;e <a href=\"http:\/\/ckeditor.com\/download\" target=\"_blank\">ckeditor.com\/download<\/a> adresinden ula\u015fabilirsiniz.CKFinder&#8217;\u0131 indirebilmek i\u00e7in de <a href=\"https:\/\/cksource.com\/ckfinder\/download\" target=\"_blank\">cksource.com\/ckfinder\/download<\/a> adresini kullanabilirsiniz.<\/p>\n<p>CKFinder&#8217;\u0131 verdi\u011fim siteden indirirken bir hususa dikkatinizi \u00e7ekmek istiyorum.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3170\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi.png\" alt=\"Asp.NET MVC - CKEditor \u0130le Birlikte CKFinder Entegresi\" width=\"569\" height=\"440\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi.png 569w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-300x232.png 300w\" sizes=\"auto, (max-width: 569px) 100vw, 569px\" \/><\/a><br \/>\nYukar\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fcnden de anla\u015f\u0131ld\u0131\u011f\u0131 gibi sayfa a\u00e7\u0131l\u0131r a\u00e7\u0131lmaz Download Free Trial linkine atlam\u0131yoruz.Bunun sebebi, ben CKFinder&#8217;\u0131 kurarken son versiyonunda ya\u015fad\u0131\u011f\u0131m s\u0131k\u0131nt\u0131dan dolay\u0131d\u0131r.Sayfan\u0131n alt\u0131na inerseniz e\u011fer, resimde de i\u015faretledi\u011fim gibi son versiyondan bir \u00f6nceki versiyonu indirmenizi tavsiye ediyorum.<em>(Bu uyar\u0131 2.5.0 versiyonu i\u00e7in ge\u00e7erlidir.Bu yaz\u0131 tarihe kar\u0131\u015f\u0131p \u00fcst versiyonlar \u00e7\u0131kt\u0131\u011f\u0131 zaman sizler en g\u00fcncel versiyonu indirip deneyebilirsiniz.)<\/em><\/p>\n<p>\u015eimdi Visual Studio platformunda bir Asp.NET MVC projesi olu\u015fturuyoruz ve olu\u015fturdu\u011fumuz projeye indirdi\u011fimiz CKEditor ve CKFinder dosyalar\u0131n\u0131 a\u015fa\u011f\u0131daki gibi entegre ediyoruz.<\/p>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3171\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-2.png\" alt=\"Asp.NET MVC - CKEditor \u0130le Birlikte CKFinder Entegresi - 2\" width=\"149\" height=\"166\" \/><\/a><\/p>\n<p>Bu entegre i\u015fleminden sonra \u00f6ncelikle projemizde CKEditor&#8217;\u00fc \u00e7al\u0131\u015f\u0131r hale getirelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    &lt;script src=&quot;~\/ckeditor\/ckeditor.js&quot;&gt;&lt;\/script&gt;\r\n    &lt;script src=&quot;~\/ckfinder\/ckfinder.js&quot;&gt;&lt;\/script&gt;\r\n    &lt;script src=&quot;~\/Scripts\/jquery-1.10.2.min.js&quot;&gt;&lt;\/script&gt;\r\n<\/pre>\n<p>Bu script dosyalar\u0131n\u0131 projenizde CKEditor ve CKFinder&#8217;\u0131 kullanaca\u011f\u0131n\u0131z sayfan\u0131n &lt;head&gt;-&lt;\/head&gt; taglar\u0131 aras\u0131na tan\u0131mlay\u0131n\u0131z.Ben bu \u00f6rne\u011fimizde Layout sayfas\u0131nda tan\u0131mlama yapmay\u0131 tercih ediyorum.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n--- Layout.cshtml ---\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n\r\n    &lt;script src=&quot;~\/ckeditor\/ckeditor.js&quot;&gt;&lt;\/script&gt;\r\n    &lt;script src=&quot;~\/ckfinder\/ckfinder.js&quot;&gt;&lt;\/script&gt;\r\n    &lt;script src=&quot;~\/Scripts\/jquery-1.10.2.min.js&quot;&gt;&lt;\/script&gt;\r\n\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n    @RenderBody()\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Bu tan\u0131mlamalardan sonra CKEditor&#8217;u olu\u015fturacak komutumuzu sayfam\u0131za ekliyoruz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n@Html.TextArea(&quot;editor1&quot;)\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n    var editor = CKEDITOR.instances&#x5B;'editor1'];\r\n    if (editor) { editor.destroy(true); }\r\n    CKEDITOR.replace('editor1', {\r\n        enterMode: CKEDITOR.ENTER_BR,\r\n    });\r\n    CKFinder.setupCKEditor(null, '@Url.Content(&quot;~\/ckfinder\/&quot;)');\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>Art\u0131k bu komuttan sonra a\u015fa\u011f\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fcnde de oldu\u011fu gibi CKEditor entegrasyonu tamamlanm\u0131\u015f demektir.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3172\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-3.png\" alt=\"Asp.NET MVC - CKEditor \u0130le Birlikte CKFinder Entegresi - 3\" width=\"429\" height=\"284\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-3.png 429w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-3-300x199.png 300w\" sizes=\"auto, (max-width: 429px) 100vw, 429px\" \/><\/a><\/p>\n<p>S\u0131ra geldi CKFinder mod\u00fcl\u00fcn\u00fc \u00e7al\u0131\u015f\u0131r vaziyete getirmeye.<\/p>\n<p>CKFinder mod\u00fcl\u00fcn\u00fcn i\u00e7indeki &#8220;<strong>CKFinder -&gt; bin -&gt; Release -&gt; CKFinder.dll<\/strong>&#8221; kombinasyonundaki CKFinder.dll dosyas\u0131n\u0131 projemize referans olarak ekliyoruz.<\/p>\n<p>Bu i\u015flem neticesinde CKFinder klas\u00f6r\u00fcn\u00fcn i\u00e7indeki &#8220;config.ascs&#8221; dosyas\u0131nda a\u015fa\u011f\u0131daki modifikasyonu yap\u0131yoruz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;%@ Control Language=&quot;C#&quot; EnableViewState=&quot;false&quot; AutoEventWireup=&quot;false&quot; Inherits=&quot;CKFinder.Settings.ConfigFile&quot; %&gt;\r\n&lt;%@ Import Namespace=&quot;CKFinder.Settings&quot; %&gt;\r\n&lt;script runat=&quot;server&quot;&gt;\r\n    \r\n\tpublic override bool CheckAuthentication()\r\n\t{\r\n\t\treturn true;\r\n\t}\r\n\r\n\tpublic override void SetConfig()\r\n\t{\r\n    \tLicenseName = &quot;&quot;;\r\n\t\tLicenseKey = &quot;&quot;;\r\n\t\tBaseUrl = &quot;\/Content\/Resimler\/&quot;;\r\n\t\tBaseDir = HttpContext.Current.Server.MapPath(&quot;~\/Content\/Resimler\/&quot;);\r\n\t\tPlugins = new string&#x5B;] {\r\n\t\t};\r\n\t\tPluginSettings = new Hashtable();\r\n\t\tPluginSettings.Add(&quot;ImageResize_smallThumb&quot;, &quot;90x90&quot; );\r\n\t\tPluginSettings.Add(&quot;ImageResize_mediumThumb&quot;, &quot;120x120&quot; );\r\n\t\tPluginSettings.Add(&quot;ImageResize_largeThumb&quot;, &quot;180x180&quot; );\r\n\t\tPluginSettings.Add(&quot;Watermark_source&quot;, &quot;logo.gif&quot; );\r\n\t\tPluginSettings.Add(&quot;Watermark_marginRight&quot;, &quot;5&quot; );\r\n\t\tPluginSettings.Add(&quot;Watermark_marginBottom&quot;, &quot;5&quot; );\r\n\t\tPluginSettings.Add(&quot;Watermark_quality&quot;, &quot;90&quot; );\r\n\t\tPluginSettings.Add(&quot;Watermark_transparency&quot;, &quot;80&quot; );\r\n\t\tThumbnails.Url = BaseUrl + &quot;_thumbs\/&quot;;\r\n\t\tif ( BaseDir != &quot;&quot; ) {\r\n\t\t\tThumbnails.Dir = BaseDir + &quot;_thumbs\/&quot;;\r\n\t\t}\r\n\t\tThumbnails.Enabled = true;\r\n\t\tThumbnails.DirectAccess = false;\r\n\t\tThumbnails.MaxWidth = 100;\r\n\t\tThumbnails.MaxHeight = 100;\r\n\t\tThumbnails.Quality = 80;\r\n\t\tImages.MaxWidth = 1600;\r\n\t\tImages.MaxHeight = 1200;\r\n\t\tImages.Quality = 80;\r\n\t\tCheckSizeAfterScaling = true;\r\n\t\tDisallowUnsafeCharacters = true;\r\n\t\tCheckDoubleExtension = true;\r\n\t\tForceSingleExtension = true;\r\n\t\tHtmlExtensions = new string&#x5B;] { &quot;html&quot;, &quot;htm&quot;, &quot;xml&quot;, &quot;js&quot; };\r\n\t\tHideFolders = new string&#x5B;] { &quot;.*&quot;, &quot;CVS&quot; };\r\n\t\tHideFiles = new string&#x5B;] { &quot;.*&quot; };\r\n\t\tSecureImageUploads = true;\r\n\t\tRoleSessionVar = &quot;CKFinder_UserRole&quot;;\r\n\t\tAccessControl acl = AccessControl.Add();\r\n\t\tacl.Role = &quot;*&quot;;\r\n\t\tacl.ResourceType = &quot;*&quot;;\r\n\t\tacl.Folder = &quot;\/&quot;;\r\n\t\tacl.FolderView = true;\r\n\t\tacl.FolderCreate = true;\r\n\t\tacl.FolderRename = true;\r\n\t\tacl.FolderDelete = true;\r\n\t\tacl.FileView = true;\r\n\t\tacl.FileUpload = true;\r\n\t\tacl.FileRename = true;\r\n\t\tacl.FileDelete = true;\r\n\t\tDefaultResourceTypes = &quot;&quot;;\r\n\t\tResourceType type;\r\n\t\ttype = ResourceType.Add( &quot;Files&quot; );\r\n\t\ttype.Url = BaseUrl + &quot;files\/&quot;;\r\n\t\ttype.Dir = BaseDir == &quot;&quot; ? &quot;&quot; : BaseDir + &quot;files\/&quot;;\r\n\t\ttype.MaxSize = 0;\r\n\t\ttype.AllowedExtensions = new string&#x5B;] { &quot;7z&quot;, &quot;aiff&quot;, &quot;asf&quot;, &quot;avi&quot;, &quot;bmp&quot;, &quot;csv&quot;, &quot;doc&quot;, &quot;docx&quot;, &quot;fla&quot;, &quot;flv&quot;, &quot;gif&quot;, &quot;gz&quot;, &quot;gzip&quot;, &quot;jpeg&quot;, &quot;jpg&quot;, &quot;mid&quot;, &quot;mov&quot;, &quot;mp3&quot;, &quot;mp4&quot;, &quot;mpc&quot;, &quot;mpeg&quot;, &quot;mpg&quot;, &quot;ods&quot;, &quot;odt&quot;, &quot;pdf&quot;, &quot;png&quot;, &quot;ppt&quot;, &quot;pptx&quot;, &quot;pxd&quot;, &quot;qt&quot;, &quot;ram&quot;, &quot;rar&quot;, &quot;rm&quot;, &quot;rmi&quot;, &quot;rmvb&quot;, &quot;rtf&quot;, &quot;sdc&quot;, &quot;sitd&quot;, &quot;swf&quot;, &quot;sxc&quot;, &quot;sxw&quot;, &quot;tar&quot;, &quot;tgz&quot;, &quot;tif&quot;, &quot;tiff&quot;, &quot;txt&quot;, &quot;vsd&quot;, &quot;wav&quot;, &quot;wma&quot;, &quot;wmv&quot;, &quot;xls&quot;, &quot;xlsx&quot;, &quot;zip&quot; };\r\n\t\ttype.DeniedExtensions = new string&#x5B;] { };\r\n\t\ttype = ResourceType.Add( &quot;Images&quot; );\r\n\t\ttype.Url = BaseUrl + &quot;images\/&quot;;\r\n\t\ttype.Dir = BaseDir == &quot;&quot; ? &quot;&quot; : BaseDir + &quot;images\/&quot;;\r\n\t\ttype.MaxSize = 0;\r\n\t\ttype.AllowedExtensions = new string&#x5B;] { &quot;bmp&quot;, &quot;gif&quot;, &quot;jpeg&quot;, &quot;jpg&quot;, &quot;png&quot; };\r\n\t\ttype.DeniedExtensions = new string&#x5B;] { };\r\n\t\ttype = ResourceType.Add( &quot;Flash&quot; );\r\n\t\ttype.Url = BaseUrl + &quot;flash\/&quot;;\r\n\t\ttype.Dir = BaseDir == &quot;&quot; ? &quot;&quot; : BaseDir + &quot;flash\/&quot;;\r\n\t\ttype.MaxSize = 0;\r\n\t\ttype.AllowedExtensions = new string&#x5B;] { &quot;swf&quot;, &quot;flv&quot; };\r\n\t\ttype.DeniedExtensions = new string&#x5B;] { };\r\n\t}\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>Siz bu dosyay\u0131 a\u00e7t\u0131\u011f\u0131n\u0131z zaman i\u00e7inde yorum sat\u0131rlar\u0131 ve sat\u0131r sat\u0131r komutlar bulunan kar\u0131\u015f\u0131k bir tabloyla kar\u015f\u0131 kar\u015f\u0131ya kalacaks\u0131n\u0131z.Evet, yukar\u0131daki gibi sadele\u015ftirip projenize devam edebilirsiniz.\u015eimdi yukar\u0131daki &#8220;config.ascs&#8221; dosyas\u0131ndaki \u00f6zelliklerden bahsedelim ve yapt\u0131\u011f\u0131m\u0131z i\u015flemi a\u00e7\u0131kl\u0131\u011fa kavu\u015ftural\u0131m.<\/p>\n<p>CheckAuthentication isimli metod, bir oturum kontrol metodudur.Bu metod ilk etapta false olarak gelmektedir.CKFinder&#8217;\u0131 kullanabilmek i\u00e7in bunu true yapmam\u0131z gerekiyor.Ama burada dikkat etmeniz gereken bir husus var.E\u011fer bu metod&#8217;da bir oturum kontrol\u00fc ger\u00e7ekle\u015ftirmezseniz, sitenize giren her kullan\u0131c\u0131 sunucuya istedi\u011fi dosyay\u0131 g\u00f6nderebilme l\u00fcks\u00fcne sahiptir.O y\u00fczden siz ciddi projelerinizde bir oturum kontrol\u00fc kullanmal\u0131 ve oturum a\u00e7\u0131lmam\u0131\u015fsa bu metodu false de\u011fer olarak geri d\u00f6nd\u00fcrmelisiniz.<\/p>\n<p>SetConfig isimli metod ise, se\u00e7ilen dosyalar\u0131 hangi dizine ataca\u011f\u0131n\u0131 belirtti\u011fimiz bir ayar metodudur.BaseUrl dizini belirlerken, BaseDir fiziksel dizin belirtisidir.Ben CKFinder ile se\u00e7ilen dosyalar\u0131 &#8220;Content&#8221; klas\u00f6r\u00fc alt\u0131nda manuel olu\u015fturdu\u011fum &#8220;Resimler&#8221; klas\u00f6r\u00fcne ataca\u011f\u0131m i\u00e7in bu dizinin adresini tan\u0131mlad\u0131m.<\/p>\n<p>\u015eimdi s\u0131ra geldi projemizi derleyip \u00e7al\u0131\u015ft\u0131rmaya.Ha, bu arada projeyi denemeden \u00f6nce yukar\u0131da CKEditor&#8217;\u00fc \u00e7al\u0131\u015ft\u0131ran komuta g\u00f6z atan\u0131z\u0131 tavsiye ediyorum.\u0130lgili komutta ki, &#8220;<strong><em>CKFinder.setupCKEditor(null, &#8216;@Url.Content(&#8220;~\/ckfinder\/&#8221;)<\/em><\/strong>&#8221; komutu sayesinde CKEditor&#8217;\u00fcm\u00fcze entegre edilecek CKFinder mod\u00fcl\u00fcn\u00fcn yolunu \u00e7oktan belirtmi\u015f olduk.<\/p>\n<p>Projeyi ba\u015flatt\u0131\u011f\u0131m\u0131z zaman CKEditor&#8217;de ki a\u015fa\u011f\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fcnde i\u015faretledi\u011fim icona t\u0131klayarak CKFinder mod\u00fcl\u00fcn\u00fc a\u00e7abilirsiniz.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3174\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-4.png\" alt=\"Asp.NET MVC - CKEditor \u0130le Birlikte CKFinder Entegresi - 4\" width=\"504\" height=\"258\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-4.png 504w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-CKEditor-\u0130le-Birlikte-CKFinder-Entegresi-4-300x154.png 300w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><\/a><\/p>\n<p>Bundan sonras\u0131n\u0131 a\u015fa\u011f\u0131daki videodan takip edebilirsiniz.<\/p>\n<p>Son olarak belirtmek istiyorum ki, videoda da dikkatinizi \u00e7ekmi\u015ftir san\u0131r\u0131m, resimleri atmak i\u00e7in olu\u015fturdu\u011fumuz Content\/Resimler klas\u00f6r\u00fc i\u00e7inde images isimli bir klas\u00f6r otomatik olarak CKFinder mod\u00fcl\u00fc sayesinde eklenmektedir.<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/QMegh8oqt9g\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Bu yaz\u0131m\u0131z\u0131nda sonuna gelmi\u015f olduk.<br \/>\nSonraki yaz\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar dilerim.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>\u00d6nceki yaz\u0131lar\u0131mdan olan Asp.NET MVC CKEditor Entegresi ve Kullan\u0131m\u0131 ba\u015fl\u0131kl\u0131 yaz\u0131mda CKEditor&#8217;\u00fcn nas\u0131l kullan\u0131ld\u0131\u011f\u0131 hakk\u0131nda isti\u015fare yapm\u0131\u015ft\u0131k.Lakin ilgili makalede CKFinder entegrasyonuna de\u011finmedi\u011fim i\u00e7in bu eksikli\u011fi kapatmak a\u00e7\u0131s\u0131ndan bu yaz\u0131ya karar verdim. Yaz\u0131m\u0131za ba\u015flamadan \u00f6nce,&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":3014,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,600],"tags":[746,347,735],"class_list":["post-3169","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asp-net-mvc","category-asp-net-mvc-5","tag-asp-net-mvc","tag-ckeditor","tag-ckfinder"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=3169"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3169\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3014"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=3169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=3169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=3169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}