Emoticon images
The list of images that will be used to replace the emoticon text can be
defined by a site administrator in Settings > Site administration >
Appearance > HTML settings. The images defined here are used by
Display emoticons as images
filter and TinyMCE HTML editor's Insert emoticon popup menu. ![]()
Form table fields
The form table maps the emoticon characters like :-) to an image that
will be used to display that emoticon. Images can be provided either by
the Moodle core itself or by any other installed plugin (like an
activity module, block, theme or your plocal plugin). For accessibility
reasons, alternative texts for these images should be defined, too.
Emoticon text
Into the first column, insert the text representation of the emoticon. The emoticon filter converts these texts into images. The text must pass the following constraints:
- It must be at least two characters long
- It can not contain
:/and//substring to avoid accidental breaking of URL addresses - It must contain some non-alphanumeric character to prevent from breaking HTML tags in the text
Image name and component
The default set of emoticons are provided by Moodle core itself. In that
case, the image component is set to core. The image name is a relative
path to a file without the trailing slash and without the file
extension. The image must be located in the /pix folder of the given
component.
Example: if the image name is set to s/smiley and the image
component is set to core, the image file {dirroot}/pix/s/smiley.gif
from your Moodle installation folder is used to display that emoticon.
Alternative text
Alternative texts are taken from language packs that can be again provided by either the core or a plugin. The first field value is the string identifier and the second field value is the name of the component providing that string (see the language packs documentation for details).
Example: if the emoticon has the alternative text set to smiley and
core_pix, then the localized text will be obtained from the file
{dataroot}/lang/XX/pix.php where XX is the current language code. If
that translation is available, the value from the English pack
{dirroot}/lang/en/pix.php will be used.
Technical note: these two values are passed as the parameters to the
get_string() function to obtain the alternative text
Custom emoticons
To support your own emoticons, just add another row into the form table. However, if the images and their alternative texts are not available in the Moodle yet, you will have to add them in a form of an installed plugin, typically together with a theme or via your local plugin. The following section illustrates some options how to register emoticons provided by various types of plugins.
Emoticon provided by activity module
Let us say we want to use the emoticons system to display Workshop
module icon instead of (workshopicon)
text. As you can see, the icon is located in
{dirroot}/mod/workshop/pix/icon.gif. Just add the following row into
the emoticons form table:
| Text | Image name | Image component | Alternative text | |
|---|---|---|---|---|
| (workshopicon) | icon | mod_workshop |
Save changes in the form and the icon should appear at the end of the
row. If you have the emoticon filter enabled, whenever you or your users
type (workshopicon) in the text, it will be replaced with the image.
You may want to use the localized term for the Workshop module as the alternative text for that image. Because the Workshop module already contains a string that we can use, just add the following values into the last two columns of the table and save the changes again:
| Text | Image name | Image component | Alternative text | |
|---|---|---|---|---|
| (workshopicon) | icon | mod_workshop | modulename | mod_workshop |