{"id":28281,"date":"2021-05-20T10:31:00","date_gmt":"2021-05-20T07:31:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28281"},"modified":"2021-10-17T04:47:18","modified_gmt":"2021-10-17T01:47:18","slug":"hur-man-installerar-och-anvander-ckeditor-i-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/hur-man-installerar-och-anvander-ckeditor-i-laravel\/","title":{"rendered":"Hur man installerar och anv\u00e4nder CKEditor i Laravel"},"content":{"rendered":"<p>Vill du installera CKEditor i Laravel? CKEditor \u00e4r en WYSIWYG (det du ser \u00e4r vad du f\u00e5r) HTML-redigerare som l\u00e5ter oss skriva rikt textformat. I den h\u00e4r artikeln visar jag dig hur du <strong>installerar och anv\u00e4nder CKEditor i Laravel<\/strong>.<\/p>\n<h3>Varf\u00f6r beh\u00f6ver du anv\u00e4nda CKEditor?<\/h3>\n<p>Richtext-redigeraren \u00e4r n\u00f6dv\u00e4ndig f\u00f6r att skriva rikt inneh\u00e5ll f\u00f6r dina sidor eller artiklar. P\u00e5 webbsidan m\u00e5ste vi ha olika element som bilder, stycken, l\u00e4nkar etc. Alla dessa olika element kan l\u00e4ggas till med CKEditor.<\/p>\n<p>HTML ger ett textareaelement f\u00f6r att skriva beskrivning. Men det kommer med begr\u00e4nsningar. I textomr\u00e5det \u00e4r det inte l\u00e4tt och anv\u00e4ndarv\u00e4nligt att skriva andra HTML-element som p, div, img, etc.<\/p>\n<p>F\u00f6r att \u00f6vervinna s\u00e5dana begr\u00e4nsningar kan du anv\u00e4nda CKEditor som i sig \u00e4r en textredigerare. V\u00e5r slutredakt\u00f6r kommer att se ut som nedanst\u00e5ende sk\u00e4rmdump.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20535-608201a68736d.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20535-608201a68736d.png\" alt=\"Hur man installerar och anv\u00e4nder CKEditor i Laravel\" ><\/a><\/p>\n<h3>Installera CKEditor i Laravel<\/h3>\n<p>Det finns tv\u00e5 s\u00e4tt att installera CKEditor i Laravel &#8211; CDN eller CKEditor-paketet. Du kan f\u00e5 b\u00e5da resurserna fr\u00e5n deras <a href=\"https:\/\/ckeditor.com\/ckeditor-4\/download\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">nedladdningssida<\/a>.<\/p>\n<p>CDN-l\u00e4nken \u00e4r <code>\/\/cdn.ckeditor.com\/4.14.0\/standard\/ckeditor.js<\/code>. Om du v\u00e4ljer CDN beh\u00f6ver du inte ladda ner n\u00e5got fr\u00e5n CKEditors webbplats.<\/p>\n<p>Om du t\u00e4nker installera det utan CDN laddar du ner paketet (standardpaket rekommenderas). Skapa sedan en mapp &#8217;ckeditor&#8217; under katalogen &#8217;public&#8217; f\u00f6r ditt Laravel-projekt. Och inuti denna &quot;ckeditor&quot; -mapp kopierar du nedan filer och mappar fr\u00e5n det nedladdade paketet.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20535-608201a6ee9be.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20535-608201a6ee9be.png\" alt=\"Hur man installerar och anv\u00e4nder CKEditor i Laravel\" ><\/a><\/p>\n<h3>Hur man anv\u00e4nder CKEditor<\/h3>\n<p>I detta skede har du slutf\u00f6rt stegen f\u00f6r installation av CKEditor-paketet. L\u00e5t oss nu se hur man anv\u00e4nder CKEditor.<\/p>\n<p>L\u00e5t oss s\u00e4ga att du har ett &quot;textomr\u00e5de&quot; som b\u00f6r ers\u00e4ttas av CKEditor. F\u00f6r att g\u00f6ra det l\u00e4gger jag till id &#8217;sammanfattning-ckeditor&#8217; till &#8217;textomr\u00e5det&#8217;.<\/p>\n<pre><code>&lt;textarea class=\"form-control\" id=\"summary-ckeditor\" name=\"summary-ckeditor\"&gt;&lt;\/textarea&gt;<\/code><\/pre>\n<p>D\u00e4refter m\u00e5ste du inkludera <code>ckeditor.js<\/code>filen och skriva en JavaScript-kod som ers\u00e4tter &#8217;textarea&#8217; med CKEditor.<\/p>\n<pre><code>&lt;script src=\"{{ asset('ckeditor\/ckeditor.js') }}\"&gt;&lt;\/script&gt;\n&lt;script&gt;\nCKEDITOR.replace( 'summary-ckeditor' );\n&lt;\/script&gt;<\/code><\/pre>\n<p>Ovanf\u00f6r JavaScript-kod ers\u00e4tts textarea med CKEditor. Om du vill anv\u00e4nda CDN skulle ovanst\u00e5ende kod vara som f\u00f6ljer:<\/p>\n<pre><code>&lt;script src=\"\/\/cdn.ckeditor.com\/4.14.0\/standard\/ckeditor.js\"&gt;&lt;\/script&gt;\n&lt;script&gt;\nCKEDITOR.replace( 'summary-ckeditor' );\n&lt;\/script&gt;<\/code><\/pre>\n<p>K\u00f6r din sida i webbl\u00e4saren och du ska nu kunna se CKeditor. Du kan nu l\u00e4gga till ditt inneh\u00e5ll i redigeraren och anv\u00e4nda det p\u00e5 din webbplats.<\/p>\n<h3>Ladda upp och infoga bild i CKEditor<\/h3>\n<p>CKEditor ger som standard inte m\u00f6jlighet att ladda upp bilden. Om n\u00e5gon vill ge det h\u00e4r alternativet, forts\u00e4tt l\u00e4sa den h\u00e4r artikeln. Det m\u00e5ste l\u00e4gga till en Laravel-rutt, skriva en kod f\u00f6r bilduppladdning och lite JavaScript till din applikation. F\u00f6rst m\u00e5ste du ringa CKEditor f\u00f6r att aktivera alternativet f\u00f6r bild\u00f6verf\u00f6ring p\u00e5 f\u00f6ljande s\u00e4tt.<\/p>\n<pre><code>&lt;script&gt;\nCKEDITOR.replace( 'summary-ckeditor', {\n\u00a0\u00a0\u00a0\u00a0filebrowserUploadUrl: \"{{route('upload', ['_token' =&gt; csrf_token() ])}}\",\n\u00a0\u00a0\u00a0\u00a0filebrowserUploadMethod: 'form'\n});\n&lt;\/script&gt;<\/code><\/pre>\n<p>H\u00e4r f\u00f6r nyckeln <code>filebrowserUploadUrl<\/code>passerade jag rutt-URL och csrf-token. L\u00e5t oss definiera rutten &quot;ladda upp&quot;.<\/p>\n<pre><code>Route::post('ckeditor\/image_upload', 'CKEditorController@upload')-&gt;name('upload');<\/code><\/pre>\n<p>Ladda om sidan. Nu om du klickar p\u00e5 CKEditors bildikon kommer du att se alternativet f\u00f6r bilduppladdning som visas nedan.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20535-608201a6ee9be.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20535-608201a6ee9be.png\" alt=\"Hur man installerar och anv\u00e4nder CKEditor i Laravel\" ><\/a><\/p>\n<p>F\u00f6r att kunna anv\u00e4nda den uppladdade bilden i CKEditor m\u00e5ste du ladda upp bilden i din applikationsmapp och skicka tillbaka en bild-URL. F\u00f6r att lagra en bild p\u00e5 en server anv\u00e4nder jag Laravel-lagringsfunktionen. S\u00e5 f\u00f6rst m\u00e5ste jag skapa en syml\u00e4nk till en &quot;lagringsmapp&quot;. K\u00f6r kommandot nedan f\u00f6r att skapa en symlink:<\/p>\n<pre><code>php artisan storage:link<\/code><\/pre>\n<p>V\u00e5r rutt &quot;ladda upp&quot; karta med uppladdningsmetoden f\u00f6r <code>CKEditorController<\/code>. S\u00e5 skapa en styrenhet <code>CKEditorController<\/code>och definiera <code>upload<\/code>metod i den enligt f\u00f6ljande:<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\n\u00a0\nclass CKEditorController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0public function upload(Request $request)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if($request-&gt;hasFile('upload')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get filename with extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filenamewithextension = $request-&gt;file('upload')-&gt;getClientOriginalName();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get filename without extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = pathinfo($filenamewithextension, PATHINFO_FILENAME);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get file extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$extension = $request-&gt;file('upload')-&gt;getClientOriginalExtension();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/filename to store\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filenametostore = $filename.'_'.time().'.'.$extension;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/Upload File\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$request-&gt;file('upload')-&gt;storeAs('public\/uploads', $filenametostore);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$CKEditorFuncNum = $request-&gt;input('CKEditorFuncNum');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$url = asset('storage\/uploads\/'.$filenametostore);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$msg = 'Image successfully uploaded';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$re = \"&lt;script&gt;window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '$url', '$msg')&lt;\/script&gt;\";\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Render HTML output\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0@header('Content-type: text\/html; charset=utf-8');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $re;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Det \u00e4r det nu, f\u00f6rs\u00f6k ladda upp bilden fr\u00e5n CKEditors inbyggda bildalternativ s\u00e5 f\u00e5r du bilden tillagd i din redigerare.<\/p>\n<p>Jag hoppas att du f\u00f6rst\u00e5r hur du installerar och anv\u00e4nder CKEditor i Laravel. Dela dina tankar och f\u00f6rslag i kommentaren nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-anvander-laravel-tinker\/\" title=\"Hur man anv\u00e4nder Laravel Tinker\">Hur man anv\u00e4nder Laravel Tinker<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-kor-laravel-artisan-commands-i-sublim-text\/\" title=\"Hur man k\u00f6r Laravel Artisan Commands i sublim text\">Hur man k\u00f6r Laravel Artisan Commands i sublim text<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vill du anv\u00e4nda CKEditor i Laravel? I den h\u00e4r artikeln visar vi dig hur du installerar och anv\u00e4nder CKEditor i Laravel. CKEditor \u00e4r en webbtextredigerare som g\u00f6r att vi kan<\/p>\n","protected":false},"author":1,"featured_media":21749,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[503],"tags":[850],"class_list":["post-28281","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=28281"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28281\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=28281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=28281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=28281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}