Note:

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

TinyMCE plugins

From MoodleDocs

Moodle 2.4 This page describes custom Moodle plugins for TinyMCE implemented in MDL-34875.

Overview

Moodle 2.4 contains a slightly modified TinyMCE, the only difference from upstream version is different language file loading. All language strings are loaded only from moodle language packs.

Directory /lib/editor/tinymce/plugins/ contains Moodle specific TinyMCE plugins. It supports all standard Moodle plugin features. Static files (JS, CSS, images) are loaded via PHP loader, this prevents caching problems and it may improve performance. Original JavaScript based localisation files are not supported.

Subplugin directory structure

/db/*
Installation, upgrades, events, etc. It is not recommended to use database tables in these plugins.
/lang/yourplugin/tinymce_yourplugin.php
Language strings. All strings used from TinyMCE JavaScript files must start with "yourplugin:*" prefix.
/tinymce/*
Static files used from plugin code.
/tinymce/editor_plugin.js
The actual TinyMCE plugin code.
/lib.php
Moodle plugin code, it has to contain at least tinymce_yourplugin class with update_init_params() method.
/settings.php
Moodle plugin settings (optional).
/version.php
Moodle plugin version (required).

editor_tinymce_plugin base class

This class is responsible for integration of plugins into the TinyMCE instance. It is usually enough to override method update_init_params() and describe available buttons.