{"id":24729,"date":"2021-05-20T11:07:00","date_gmt":"2021-05-20T08:07:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24729"},"modified":"2021-10-18T03:12:01","modified_gmt":"2021-10-18T00:12:01","slug":"come-installare-e-utilizzare-ckeditor-in-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-installare-e-utilizzare-ckeditor-in-laravel\/","title":{"rendered":"Come installare e utilizzare CKEditor in Laravel"},"content":{"rendered":"<p>Vuoi installare CKEditor in Laravel? CKEditor \u00e8 un editor HTML WYSIWYG (quello che vedi \u00e8 quello che ottieni) che ci permette di scrivere formati rich text. In questo articolo, ti mostro come <strong>installare e utilizzare CKEditor in Laravel<\/strong>.<\/p>\n<h3>Perch\u00e9 \u00e8 necessario utilizzare CKEditor?<\/h3>\n<p>Il rich text editor \u00e8 necessario per scrivere contenuti ricchi per le tue pagine o articoli. Nella pagina web, abbiamo bisogno di diversi elementi come immagini, paragrafi, collegamenti, ecc. Tutti questi diversi elementi possono essere aggiunti utilizzando CKEditor.<\/p>\n<p>L&#8217;HTML fornisce un elemento textarea per scrivere la descrizione. Ma viene fornito con limitazioni. In textarea, non \u00e8 facile e intuitivo scrivere altri elementi HTML come p, div, img, ecc.<\/p>\n<p>Per superare tali limitazioni, puoi utilizzare CKEditor che \u00e8 di per s\u00e9 un editor di testo ricco. Il nostro editor finale assomiglier\u00e0 allo screenshot qui sotto.<\/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=\"Come installare e utilizzare CKEditor in Laravel\" ><\/a><\/p>\n<h3>Installa CKEditor in Laravel<\/h3>\n<p>Ci sono 2 modi per installare CKEditor in Laravel: CDN o pacchetto CKEditor. Puoi ottenere entrambe le risorse dalla loro pagina di <a href=\"https:\/\/ckeditor.com\/ckeditor-4\/download\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">download<\/a>.<\/p>\n<p>Il collegamento CDN \u00e8 <code>\/\/cdn.ckeditor.com\/4.14.0\/standard\/ckeditor.js<\/code>. Se scegli CDN non devi scaricare nulla dal sito web di CKEditor.<\/p>\n<p>Se intendi installarlo senza CDN, scarica il pacchetto (consigliato il pacchetto standard). Quindi, crea una cartella &quot;ckeditor&quot; nella directory &quot;public&quot; del tuo progetto Laravel. E all&#8217;interno di questa cartella &#8216;ckeditor&#8217; copia sotto i file e le cartelle dal pacchetto scaricato.<\/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=\"Come installare e utilizzare CKEditor in Laravel\" ><\/a><\/p>\n<h3>Come usare CKEditor<\/h3>\n<p>A questo punto, hai completato i passaggi per l&#8217;installazione del pacchetto CKEditor. Ora vediamo come usare il CKEditor.<\/p>\n<p>Supponiamo che tu abbia una &#8216;textarea&#8217; che dovrebbe essere sostituita da CKEditor. Per farlo aggiungo id &#8216;summary-ckeditor&#8217; alla &#8216;textarea&#8217;.<\/p>\n<pre><code>&lt;textarea class=\"form-control\" id=\"summary-ckeditor\" name=\"summary-ckeditor\"&gt;&lt;\/textarea&gt;<\/code><\/pre>\n<p>Successivamente, \u00e8 necessario includere il <code>ckeditor.js<\/code>file e scrivere un codice JavaScript che sostituisca &#8216;textarea&#8217; con 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>Il codice JavaScript sopra sostituisce textarea con CKEditor. Se vuoi usare CDN, il codice sopra sarebbe il seguente:<\/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>Esegui la tua pagina sul browser e ora dovresti essere in grado di vedere il CKeditor. Ora puoi aggiungere i tuoi contenuti all&#8217;editor e utilizzarli sul tuo sito web.<\/p>\n<h3>Carica e inserisci immagine in CKEditor<\/h3>\n<p>CKEditor per impostazione predefinita non offre la possibilit\u00e0 di caricare l&#8217;immagine. Se qualcuno sta cercando di dare questa opzione, continua a leggere questo articolo. Deve aggiungere un percorso Laravel, scrivere un codice per il caricamento dell&#8217;immagine e alcuni JavaScript alla tua applicazione. Innanzitutto, per abilitare l&#8217;opzione di caricamento dell&#8217;immagine \u00e8 necessario chiamare CKEditor nel modo seguente.<\/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>Qui per la chiave <code>filebrowserUploadUrl<\/code>ho passato l&#8217;URL del percorso e il token csrf. Definiamo il percorso &#8216;upload&#8217;.<\/p>\n<pre><code>Route::post('ckeditor\/image_upload', 'CKEditorController@upload')-&gt;name('upload');<\/code><\/pre>\n<p>Ricarica la pagina. Ora se fai clic sull&#8217;icona dell&#8217;immagine di CKEditor vedrai l&#8217;opzione di caricamento dell&#8217;immagine come mostrato di seguito.<\/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=\"Come installare e utilizzare CKEditor in Laravel\" ><\/a><\/p>\n<p>Per utilizzare l&#8217;immagine caricata in CKEditor, \u00e8 necessario caricare l&#8217;immagine nella cartella dell&#8217;applicazione e inviare un URL dell&#8217;immagine. Per archiviare un&#8217;immagine su un server, utilizzer\u00f2 la funzione di archiviazione di Laravel. Quindi prima ho bisogno di creare un collegamento simbolico di una cartella di &quot;archiviazione&quot;. Esegui il comando seguente per creare un collegamento simbolico:<\/p>\n<pre><code>php artisan storage:link<\/code><\/pre>\n<p>Il nostro percorso &#8216;carica&#8217; la mappa con il metodo di caricamento di <code>CKEditorController<\/code>. Quindi crea un controller <code>CKEditorController<\/code>e definisci il <code>upload<\/code>metodo in esso come segue:<\/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>Ora prova a caricare l&#8217;immagine dall&#8217;opzione immagine incorporata di CKEditor e otterrai l&#8217;immagine aggiunta nel tuo editor.<\/p>\n<p>Spero che tu capisca come installare e usare CKEditor in Laravel. Per favore condividi i tuoi pensieri e suggerimenti nel commento qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-usare-laravel-tinker\/\" title=\"Come usare Laravel Tinker\">Come usare Laravel Tinker<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-eseguire-i-comandi-laravel-artisan-in-un-testo-sublime\/\" title=\"Come eseguire i comandi Laravel Artisan in un testo sublime\">Come eseguire i comandi Laravel Artisan in un testo sublime<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vuoi usare CKEditor in Laravel? In questo articolo, ti mostriamo come installare e utilizzare CKEditor in Laravel. CKEditor \u00e8 un editor di testo web che ci permette di<\/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":[500],"tags":[846],"class_list":["post-24729","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=24729"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24729\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=24729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}