If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Editor API

From MoodleDocs

This content of this page has been updated and migrated to the new Moodle Developer Resources. The information contained on the page should no longer be seen up-to-date.

Why not view this page on the new site and help us to migrate more content to the new site!

The editor API lets you control Moodle text editors. It can be found in lib/editorlib.php.

Normally you do not need to use this API directly because you can include editors as part of a Moodle form, which will automatically set up the editor for you.

This documentation is (very) incomplete.

How to set up a text editor

To set up a text editor on an existing HTML text area field:

  • Call function editors_get_preferred_editor(), which will return an object of the texteditor class.
  • Call function use_editor to enable the editor for the text area.

For example, assuming there is an HTML text area with id mytextareaid:

$editor = editors_get_preferred_editor(FORMAT_HTML);

Editor options

The use_editor function allows an options array to be supplied.

General options

set to the current context object
set false to get rid of the managefiles plugin
set false to turn off autosave

Atto-specific options

set to override which icons appear on the toolbar (normally it uses the admin setting - this is for special cases e.g. if you want a minimal editor in a particular plugin).

The following code will cause atto to show the four buttons indicated.

$attobuttons = 'style1 = bold, italic'. PHP_EOL .'list = unorderedlist, orderedlist';
$editor->use_editor($id, ['context' => $context, 'autosave' => false, 'atto:toolbar' => $attobuttons],
                ['return_types' => FILE_EXTERNAL]);