Skip to content

Integriert den Redactor WYSIWYG-Editor in Version 3

License

Notifications You must be signed in to change notification settings

FriendsOfREDAXO/redactor

Folders and files

NameName
Last commit message
Last commit date
Dec 26, 2023
Jun 22, 2024
Jul 19, 2024
Sep 3, 2024
Mar 6, 2025
Nov 12, 2021
Jun 27, 2022
Feb 9, 2024
Feb 11, 2020
Sep 20, 2021
Dec 13, 2024
Nov 12, 2021
May 31, 2022
Feb 12, 2025
Feb 9, 2024

Repository files navigation

Redactor Editor

Bindet den WYSIWYG-Editor Redactor in Version 3 im Backend ein.

Screenshot

Funktionen

  • alignment
  • blockquote
  • bold
  • cleaner
  • clip
  • deleted
  • format; format[p|h1]; format[Sher=p.sher|Lock=p.lock]
  • h1
  • h2
  • h3
  • h4
  • h5
  • h6
  • hr
  • html
  • image
  • indent
  • italic
  • linkEmail
  • linkExternal
  • linkInternal
  • linkMedia
  • linkTelephone
  • linkYForm[tableNameA=field|rex_yf_news=title]
  • lists[ul|ol|indent|outdent]
  • ol
  • outdent
  • pre
  • quote
  • redo
  • separator (|)
  • style[code|mark|var|kbd|sup|sub]
  • sub
  • sup
  • ul
  • underline
  • undo

Redactor Plugins

  • counter (via Profil aktivieren)
  • fontcolor
  • fontfamily
  • fontsize
  • fullscreen
  • limiter (via Profil aktivieren)
  • properties
  • specialchars
  • table
  • textdirection
  • video
  • widget

Profil

Ein Profil wird entsprechend wie folgt angelegt:

html,|,undo,redo,|,h1,h2,h3,h4,bold,italic,|,image,blockquote,lists[indent],ol,ul,linkExternal,linkInternal,hr,linkYForm[rex_yform_test=last_name|rex_yform_news=title],table,widget

Weitere Einstellungen können hinterlegt werden, dazu die Parameter des Vendors beachten: https://imperavi.com/redactor/docs/settings/overview/

Modulbeispiel

Eingabe

Der in der Profilverwaltung erstellte Selector wird der Textarea als css-class zugeordnet.

<textarea class="form-control redactor-editor--full" name="REX_INPUT_VALUE[1]">REX_VALUE[1]</textarea>

Ausgabe

REX_VALUE[id="1" output="html"]

Hinweise

Plugin linkYForm

Um die fiktiven generierten Urls wie rex-yf-news://1 zu ersetzen, muss folgendes Skript in die boot.php des project AddOns. Dazu müsste der Code für die Urls angepasst werden.

\rex_extension::register('OUTPUT_FILTER', function(\rex_extension_point $ep) {
    return preg_replace_callback(
        '@(rex-yf-(news|person))://(\d+)(?:-(\d+))?/?@i',
        function ($matches) {
            // table = $matches[1]
            // id = $matches[3]
            $url = '';
            switch ($matches[1]) {
                case 'rex-yf-news':
                    // Beispiel, falls die Urls via Url-AddOn generiert werden 
                    $object = News::get($matches[3]);
                    if ($object) {
                        $url = $object->getUrl();
                        
                        // die getUrl Methode könnte so aussehen
                        // public function getUrl()
                        // {
                        //     return rex_getUrl('', '', ['news-id' => $this->id]);
                        // }
                    }
                    break;
                case 'rex-yf-person':
                    // ein anderes Beispiel 
                    $url = '/index.php?person='.$matches[3];
                    break;
            }
            return $url;
        },
        $ep->getSubject()
    );
}, rex_extension::NORMAL);

Migration von redactor2 zu redactor (3, diese Version)

#11

Lizenz

REDAXO OEM License, siehe LICENSE.md

Autor

Friends of REDAXO

Credits

Projekt-Leads
Thomas Blum Alexander Walther

Und weitere Beteiligte