# Anpassen des Online-Editors

In Chamilo 1.10 und höher verwenden wir CKEditor als WYSIWYG (Was Sie sehen, ist was Sie bekommen) oder als “online” HTML-Editor. Dies war bei `Chamilo 1.9` nicht der Fall, der immer noch den jetzt toten FckEditor benutzte.

Manchmal möchten Sie möglicherweise den Editor für ein bestimmtes Element in Chamilo anpassen. Dies kann für vorhandene benutzerdefinierte Elementtypen im `src/Chamilo/CoreBundle/Component/Editor/CkEditor/Toolbar/`-Verzeichnis erfolgen.

Dort finden Sie eine Reihe von Dateien der folgenden Form:

```
/* For licensing terms, see /license.txt */

namespace Chamilo\CoreBundle\Component\Editor\CkEditor\Toolbar;

/**
 * Messages toolbar configuration
 *
 * @package Chamilo\CoreBundle\Component\Editor\CkEditor\Toolbar
 */
class Messages extends Basic
{
    /**
     * Get the toolbar config
     * @return array
     */
    public function getConfig()
    {
        if (api_get_setting('more_buttons_maximized_mode') != 'true') {
            $config['toolbar'] = $this→getNormalToolbar();
        } else {
            $config['toolbar_minToolbar'] = $this→getMinimizedToolbar();
            $config['toolbar_maxToolbar'] = $this→getMaximizedToolbar();
        }

        $config['fullPage'] = true;
        //$config['height'] = '200';
        return $config;
    }

    /**
     * Get the toolbar configuration when CKEditor is maximized
     * @return array
     */
    protected function getMaximizedToolbar()
    {
        return [
            ['NewPage', 'Templates', '-', 'Preview', 'Print'],
            ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord'],
            ['Undo', 'Redo', '-', 'SelectAll', 'Find', '-','RemoveFormat'],
            ['Link', 'Unlink', 'Anchor', 'Glossary'],
            [ 'Image', 'Mapping', 'Video', 'Oembed', 'Youtube', 'Flash', 'Audio', 'leaflet', 'Smiley', 'SpecialChar', 'Inserthtml', 'Asciimath', 'Asciisvg' ],
            '/',
            ['Table', '-', 'CreateDiv'],
            ['BulletedList', 'NumberedList', 'HorizontalRule', '-','Outdent', 'Indent', 'Blockquote'],
            ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
            ['Bold', 'Italic', 'Underline', 'Strike', '-', 'Subscript', 'Superscript', '-', 'TextColor', 'BGColor'],
            [api_get_setting('allow_spellcheck') == 'true' ? 'Scayt' : ''],
            ['Styles', 'Format', 'Font', 'FontSize'],
            ['PageBreak', 'ShowBlocks', 'Source'],
            ['Toolbarswitch']
        ];
    }

    /**
     * Get the default toolbar configuration when the setting
     * more_buttons_maximized_mode is false
     * @return array
     */
    protected function getNormalToolbar()
    {
        return [
            ['Link', 'Unlink'],
            ['Image', 'Video', 'Flash', 'Oembed', 'Youtube', 'Audio'],
            ['Table', 'Smiley'],
            ['TextColor', 'BGColor'],
            ['Source'],
            '/',
            ['Font', 'FontSize'],
            ['Bold', 'Italic', 'Underline'],
            ['JustifyLeft', 'JustifyCenter', '-', 'NumberedList', 'BulletedList']
        ];
    }
    /**
     * Get the toolbar configuration when CKEditor is minimized
     * @return array
     */
    protected function getMinimizedToolbar()
    {
        return [
            $this→getNewPageBlock(),
            ['Undo', 'Redo'],
            ['Link', 'Image', 'Video', 'Flash', 'Audio', 'Table','Asciimath', 'Asciisvg'],
            ['BulletedList', 'NumberedList', 'HorizontalRule'],
            ['JustifyLeft', 'JustifyCenter'],
            ['Format', 'Font', 'Bold', 'Italic', 'Underline', 'TextColor', 'BGColor'],
            ['Toolbarswitch']
        ];
    }
}
```

Wie Sie wahrscheinlich einschätzen können, ist die Struktur einfach:

* Eine Klasse, die die “Basic” -Klasse für den Editor erweitert
* eine getConfig() -Methode, um eine globale Konfiguration zu erhalten (wie die Größe des Gebiets)
* eine getMaximizedToolbar() -Methode, die die Optionen definiert, die angezeigt werden sollen, wenn sie maximiert werden
* eine getNormalToolbar() -Methode, die die Optionen definiert, die normal angezeigt werden sollen
* eine getMinimizedToolbar() -Methode, die die Optionen definiert, die angezeigt werden sollen, wenn sie minimiert sind

Wenn Sie eines der in den Symbolleisten angebotenen Tools für einen bestimmten Fall ändern möchten, ändern Sie es einfach hier.

Beachten Sie jedoch, dass diese Anpassung nicht Teil der normalerweise akzeptierten Anpassungen ist. Sie müssen sie daher irgendwo aufgezeichnet haben, um sie erneut anwenden zu können, wenn die nächste Version herauskommt.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chamilo.org/1.11.x-de/entwicklerhandbuch/customizing_the_online_editor.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
