Изображения смайликов
Список изображений, которые будут использоваться для замены текста смайликов, может быть определён администратором сайта в Настройки > Администрирование > Оформление > Настройки HTML. Изображения, определённые здесь, используются фильтром Отображение смайликов в виде изображений и всплывающим меню «Вставить смайлик» в HTML-редакторе TinyMCE. ![]()
Поля таблицы формы
Таблица формы сопоставляет символы смайликов, такие как :-), с изображением, которое будет использоваться для отображения этого смайлика. Изображения могут быть предоставлены либо ядром Moodle, либо любым другим установленным плагином (например, модулем элемента курса, блоком, темой или вашим локальным плагином). По соображениям доступности следует также определить альтернативный текст для этих изображений.
Текст смайлика
В первый столбец вставьте текстовое представление смайлика. Фильтр смайликов преобразует эти тексты в изображения. Текст должен соответствовать следующим ограничениям:
- Он должен содержать не менее двух символов.
- Он не может содержать подстроки
:/и//, чтобы избежать случайного нарушения URL-адресов. - Он должен содержать некоторый нечисловой символ, чтобы предотвратить нарушение HTML-тегов в тексте.
Имя изображения и компонент
Базовый набор смайликов предоставляется самим ядром Moodle. В этом случае компонент изображения устанавливается как core. Имя изображения — это относительный путь к файлу без завершающей косой черты и без расширения файла. Изображение должно находиться в папке /pix данно го компонента.
Пример: если имя изображения установлено как s/smiley, а компонент изображения установлен как core, то для отображения этого смайлика будет использоваться файл изображения {dirroot}/pix/s/smiley.gif из папки установки Moodle.
Альтернативный текст
Альтернативные тексты берутся из языковых пакетов, которые снова могут быть предоставлены либо ядром, либо плагином. Первое значение поля — это идентификатор строки, а второе значение поля — это имя компонента, предоставляющего эту строку (подробности см. в документации по языковым пакетам).
Пример: если для смайлика установлен альтернативный текст smiley и core_pix, то локализованный текст будет получен из файла {dataroot}/lang/XX/pix.php, где XX — код выбранного языка. Если этот перевод недоступен, будет использоваться значение из английского пакета {dirroot}/lang/en/pix.php.
Т ехническое примечание: эти два значения передаются в качестве параметров функции get_string() для получения альтернативного текста.
Пользовательские смайлики
Чтобы поддерживать свои собственные смайлики, просто добавьте ещё одну строку в таблицу формы. Однако, если изображения и их альтернативные тексты ещё не доступны в Moodle, вам придётся добавить их в виде установленного плагина, обычно вместе с темой или через ваш локальный плагин. В следующем разделе показаны некоторые варианты регистрации смайликов, предоставляемых различными типами плагинов.
Смайлик, предоставленный модулем элемента курса
Д опустим, мы хотим использовать систему смайликов для отображения значка модуля Workshop вместо текста (workshopicon). Как вы можете видеть, значок расположен в {dirroot}/mod/workshop/pix/icon.gif. Просто добавьте следующую строку в таблицу формы смайликов:
| Текст | Имя изображения | Компонент изображения | Альтернативный текст | |----------------|------------|-----------------|------------------|-----| | (workshopicon) | icon | mod_workshop | |
Сохраните изменения в форме, и значок должен появиться в конце строки. Если у вас включён фильтр смайликов, всякий раз, когда вы или ваши пользователи вводите (workshopicon) в тексте, он будет заменён изображением.
Возможно, вы захотите использовать локализованный термин для модуля Workshop в качестве альтернативного текста для этого изображения. Поскольку модуль Workshop уже содержит строку, которую мы можем использовать, просто добавьте следующие значения в последние два столбца таблицы и снова сохраните изменения:
| Текст | Имя изображения | Компонент изображения | Альтернативный текст | |----------------|------------|-----------------|------------------|--------------| | (workshopicon) | icon | mod_workshop | modulename | mod_workshop |
Смайлик, предоставленный установленной темой
Темы в Moodle 2.0 по умолчанию могут переопределять любое стандартное изображение, предоставляемое ядром Moodle. Так, если файл {themedir}/pix_core/s/biggrin.* существует, он автоматически используется вместо стандартного {dirroot}/pix/s/biggrin.*. Темы, как и любые другие плагины, также могут расширять стандартный набор смайликов, изменять имена файлов или их каталоги.
Допустим, вы установили тему с именем mychool, которая поставляется со своим собственным набором стандартных смайликов. Эти смайлики должны быть расположены в подпапке /pix этой темы, например, в {themedir}/pix/smilies/happy.png. Теперь вы хотите использовать смайлики, предоставляемые этой темой, вместо набора смайликов Moodle по умолчанию. Просто замените соответствующие строки в таблице новыми значениями:
| Текст | Имя изображения | Компонент изображения | Альтернативный текст | |------|---------------|-----------------|------------------|----------| | :-) | smilies/happy | theme_myschool | smiley | core_pix |
Обратите внимание, что мы заменили только имя изображения и компонент. Таким образом, альтернативный текст будет взят из языкового пакета ядра, который, вероятно, уже локализован на многие языки.
Подготовка собственного набора смайликов
Если у вас есть набор изображений, которые вы хотели бы использовать в качестве смайликов на своём сайте, мы рекомендуем вам подготовить локальный плагин, который будет просто предоставлять эти смайлики, без какой-либо другой функциональности. Хотя этот способ требует немного больше работы на начальном этапе, он предпочтительнее прямой модификации стандартных файлов Moodle. Заключив свой смайлик в локальный плагин, вы можете безопасно обновлять свой сайт без риска перезаписи своих модификаций, развертывать локальный плагин на нескольких серверах и легко делиться своей работой с другими.
Написать локальный плагин, который предоставляет набор смайликов, несложно, даже если вы не являетесь опытным разработчиком PHP. Вы можете использовать опубликованный пример в качестве основы для своей работы.