{"id":24241,"date":"2021-05-14T12:25:00","date_gmt":"2021-05-14T09:25:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24241"},"modified":"2021-10-18T02:44:19","modified_gmt":"2021-10-17T23:44:19","slug":"trix-ein-open-source-wysiwyg-editor-fuer-websites","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/trix-ein-open-source-wysiwyg-editor-fuer-websites\/","title":{"rendered":"Trix &#8211; Ein Open-Source-WYSIWYG-Editor f\u00fcr Websites"},"content":{"rendered":"<p>Ein Rich-Text-Editor oder WYSIWYG-Editor ist n\u00fctzlich, um beschreibenden Inhalt zu schreiben, der HTML-Elemente und Bilder enth\u00e4lt. Im HTML-Textarea-Tag kann man keine Inhalte mit HTML-Tags schreiben. Aus diesem Grund verwenden die meisten Websites den WYSIWYG-HTML-Editor.<\/p>\n<p><a href=\"https:\/\/trix-editor.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Trix<\/a> ist ein Open-Source-Rich-Text-Editor von Basecamp. Da es in Basecamp verwendet wird, verwenden es bereits Millionen von Menschen, um ihre Inhalte zu schreiben. In diesem Artikel untersuchen wir, wie Sie den Trix-Editor zu Ihren Webanwendungen hinzuf\u00fcgen.<\/p>\n<h3>Installation<\/h3>\n<p>Trix hat sein Paket auf <a href=\"https:\/\/github.com\/basecamp\/trix\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub gehostet,<\/a> sodass Benutzer diesen sch\u00f6nen Editor problemlos in ihren Webanwendungen verwenden k\u00f6nnen. F\u00fcr den Einstieg m\u00fcssen Sie zun\u00e4chst JS- und CSS-Dateien von Trix einbinden. Sie k\u00f6nnen diese Dateien direkt im Ordner dist von ihrer <a href=\"https:\/\/github.com\/basecamp\/trix\/tree\/master\/dist\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub-<\/a> Seite <a href=\"https:\/\/github.com\/basecamp\/trix\/tree\/master\/dist\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">abrufen<\/a>. Oder aber, laden ihr Paket und kopieren <code>trix.js<\/code>und <code>trix.css<\/code>Dateien.<\/p>\n<p>Au\u00dferdem m\u00fcssen Sie 2 PHP-Dateien und eine weitere JS-Datei erstellen. Wir werden im sp\u00e4teren Teil sehen, warum und wie diese Dateien verwendet werden. Ihre Ordnerstruktur sollte wie folgt aussehen:<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20611-60820e5688ed8.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-20611-60820e5688ed8.png\" alt=\"Trix - Ein Open-Source-WYSIWYG-Editor f\u00fcr Websites\" ><\/a><\/p>\n<p>Schreiben Sie den folgenden Code, um den Trix-Editor auf Ihrer Webseite hinzuzuf\u00fcgen.<\/p>\n<p><strong>index.php<\/strong><\/p>\n<pre><code>&lt;link rel=\"stylesheet\" href=\"css\/trix.css\"&gt;\n&lt;script src=\"js\/trix.js\"&gt;&lt;\/script&gt;\n&lt;script src=\"js\/attachments.js\"&gt;&lt;\/script&gt;\n&lt;form method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input id=\"x\" type=\"hidden\" name=\"content\" value=\"\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;trix-editor input=\"x\"&gt;&lt;\/trix-editor&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Im obigen Code haben wir CSS- und JS-Dateien direkt hinzugef\u00fcgt. Nat\u00fcrlich sollten Sie Ihre Framework-\/CMS-Richtlinien befolgen, um diese Dateien einzubinden.<\/p>\n<p>Der Trix-Editor f\u00fcgt alle geschriebenen Inhalte an das versteckte Feld an, das wir oben hinzugef\u00fcgt haben. Und wenn Sie das Formular absenden, sollten Sie mit dem versteckten Feld fortfahren, um den Inhalt vom Editor zu erhalten. Grunds\u00e4tzlich erhalten Sie die Inhalte des Trix Editors serverseitig mit:<\/p>\n<pre><code>&lt;?php\necho $_POST['content']; \/\/here 'content' is the name given to hidden field<\/code><\/pre>\n<p>Auf die gleiche Weise m\u00f6chten Sie den Editor mit dem Inhalt vorausf\u00fcllen und dann den Inhalt in den Wertattributen des ausgeblendeten Felds \u00fcbergeben. Der Trix-Editor f\u00fcllt automatisch Inhalte aus einem versteckten Element.<\/p>\n<p>Als n\u00e4chstes f\u00fchren Sie diese Datei in Ihrem Browser aus und Sie sollten Ihren WYSIWYG-Editor auf der Seite sehen.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20611-60820e56c5c4f.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-20611-60820e56c5c4f.png\" alt=\"Trix - Ein Open-Source-WYSIWYG-Editor f\u00fcr Websites\" ><\/a><\/p>\n<h3>Bild im Trix WYSIWYG-Editor hochladen<\/h3>\n<p>In der GitHub-Dokumentation erw\u00e4hnten sie das Speichern angeh\u00e4ngter Dateien.<\/p>\n<p>Trix \u00fcbernimmt automatisch Dateien, die in einen Editor gezogen oder eingef\u00fcgt werden, und f\u00fcgt sie als Anh\u00e4nge in das Dokument ein. Jeder Anhang gilt als ausstehend, bis Sie ihn remote speichern und Trix eine permanente URL zur Verf\u00fcgung stellen.<\/p>\n<p>Das bedeutet, dass Sie ein Bild aus dem Editor nehmen, an den Server senden, Bilder auf den Server hochladen und die Bild-URL zur\u00fcckgeben m\u00fcssen. Um diesen Prozess durchzuf\u00fchren, werden wir in den n\u00e4chsten Schritten JS- und PHP-Code schreiben.<\/p>\n<p>Beginnen wir zun\u00e4chst mit JS-Code. Sie haben eine <code>attachments.js<\/code>Datei im Verzeichnis &#8218;js&#8216; erstellt. Diese JS-Datei enth\u00e4lt den folgenden Code.<\/p>\n<pre><code>(function() {\n\u00a0\u00a0\u00a0\u00a0var HOST = \"YOUR_DOMAIN_URL\/upload.php\"\n\u00a0\n\u00a0\u00a0\u00a0\u00a0addEventListener(\"trix-attachment-add\", function(event) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (event.attachment.file) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0uploadFileAttachment(event.attachment)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0})\n\u00a0\n\u00a0\u00a0\u00a0\u00a0function uploadFileAttachment(attachment) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0uploadFile(attachment.file, setProgress, setAttributes)\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0function setProgress(progress) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0attachment.setUploadProgress(progress)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0function setAttributes(attributes) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0attachment.setAttributes(attributes)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0function uploadFile(file, progressCallback, successCallback) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var formData = createFormData(file)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var xhr = new XMLHttpRequest()\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xhr.open(\"POST\", HOST, true)\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xhr.upload.addEventListener(\"progress\", function(event) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var progress = event.loaded \/ event.total * 100\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0progressCallback(progress)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xhr.addEventListener(\"load\", function(event) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var attributes = {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0url: xhr.responseText,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0href: xhr.responseText + \"?content-disposition=attachment\"\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0successCallback(attributes)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xhr.send(formData)\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0function createFormData(file) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var data = new FormData()\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0data.append(\"Content-Type\", file.type)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0data.append(\"file\", file)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return data\n\u00a0\u00a0\u00a0\u00a0}\n})();<\/code><\/pre>\n<p>Ersetzen Sie den Platzhalter &quot;YOUR_DOMAIN_URL&quot; durch Ihre tats\u00e4chliche URL. Dieser Code h\u00f6rt auf ein <code>trix-attachment-add<\/code>Ereignis und sendet einen Anhang an die <code>upload.php<\/code>Datei. Wenn eine Antwort vom Server zur\u00fcckgegeben wird, wird eine permanente Bild-URL in den Editor-Attributen festgelegt.<\/p>\n<p>Schreiben Sie abschlie\u00dfend den Code f\u00fcr das Hochladen des Bildes in die <code>upload.php<\/code>Datei.<\/p>\n<pre><code>&lt;?php\nif (!file_exists('uploads')) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0mkdir('uploads', 0777);\n}\n\u00a0\nmove_uploaded_file($_FILES['file']['tmp_name'], 'uploads\/'.$_FILES['file']['name']);\n\u00a0\necho \"YOUR_DOMAIN_URL\/uploads\/\".$_FILES['file']['name'];<\/code><\/pre>\n<p>Wir hoffen, Sie verstehen, wie Sie den Trix WYSIWYG-Editor mit PHP auf Ihrer Website hinzuf\u00fcgen. Wir w\u00fcrden gerne Ihre Meinung im Kommentarbereich unten h\u00f6ren.<\/p>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-installieren-und-verwenden-sie-ckeditor-in-laravel\/\" title=\"So installieren und verwenden Sie CKEditor in Laravel\">So installieren und verwenden Sie CKEditor in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-installieren-und-verwenden-sie-den-tinymce-editor-in-laravel\/\" title=\"So installieren und verwenden Sie TinyMCE \u2013 WYSIWYG-HTML-Editor in Laravel\">So installieren und verwenden Sie TinyMCE \u2013 WYSIWYG-HTML-Editor in Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Trix WYSIWYG-Editor ist ein Open-Source-Projekt, das von Basecamp erstellt wurde. Es ist ein weit verbreiteter Editor und in diesem Artikel zeigen wir Ihnen, wie Sie diesen Editor hinzuf\u00fcgen k\u00f6nnen<\/p>\n","protected":false},"author":1,"featured_media":20612,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[411],"tags":[845],"class_list":["post-24241","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sonstig","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=24241"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24241\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/20612"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=24241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=24241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=24241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}