Простой вариант загрузки файлов для TinyMCE 3.0

Здравствуйте, уважаемые посетители моего блога Курилка.co.ua. Разбираясь с визуальным редактором TinyMCE, я начал публиковать заметки о приобретенном опыте. Одной из таковых является: Upload Images для TinyMCE — знакомящая читателя с плагином ibrowser для TinyMCE от net4visions. Впрочем, и он не стал для меня панацеей. Дело в том, что все это можно отнести к продвинутым решениям, а я искал наиболее простой вариант загрузки файлов. О нем и поговорим?

Пожалуй, нужно начать с самого простого, а именно: «что я понимаю, говоря – простой вариант загрузки фалов?» Это значит минимальный набор функций, которого достаточно для поставленной задачи, а именно — загрузить тот или иной файл на сервер.

Здесь стоит немного отвлечься и уточнить, что речь идет о загрузке любых файлов: картинки, медиа и т.д. Наиболее интересным в этом направлении является возможность TinyMCE подключать к стандартным элементам: image, media и link свой «браузер файлов» (file browser), используя callback функцию. Для этого, при инициализации TinyMCE необходимо указывать параметр: file_browser_callback. В нашем случае — с учетом того, что мы говорим о TinyMCE 3.0 (у меня jQuery packege) – это может выглядеть следующим образом:

<script type="text/javascript">
tinyMCE.init({
mode : "specific_textareas",
editor_selector : "tinymce",
theme : "advanced",
file_browser_callback : 'upload',
});
</script>

Обратите внимание, что параметр theme имеет значение advanced. Другими словами, мы говорим о варианте применения визуального редактора TinyMCE 3.0 с расширенным набором элементов.

Не вдаваясь в подробности, уточню лишь, что callback функция не интегрируется в редактор автоматически — её надо подключать. В нашем случае, это может выглядеть следующим образом:

<script type="text/javascript" src="tinymce/jscripts/tiny_mce/plugins/upload/upload_init.php">&lt/script>

Понятно, что подключение происходит до инициализации TinyMCE. Также, обратить внимание – папка upload/, с её содержимым, должна находиться в директории plugins/ библиотеки TinyMCE 3.0. По сути, данная привязка не имеет значения, для работы предлагаемого решения. Дело в том, что я использую tiny_mce_popup.js для стандартного оформления окна загрузки файла. Если это вас не устраивает, и есть желание поэкспериментировать, ознакомьтесь с содержанием файла upload.php. Также стоит отметить тот факт, что для работы с элементом загрузки файлов вам понадобится поддержка языка программирования PHP.

Осталось разобраться с директорией, куда будут загружаться наши файлы. Для этого вам понадобится изменить значение переменной $conf->upload_path в файле config.php, из папки upload/. Значением переменной является — путь к директории хранения загружаемых файлов, от корневой директории сайта.

В заключении предлагаю вашему вниманию внешний вид предлагаемого варианта загрузки файлов:

Обратите внимание на пиктограмму, которая появится в той же вставке картинок (image) в конце строки «Адрес» — она и будет вызывать окно загрузки файла, где имеется только соответствующее поле. В случае успешной загрузки – появится ссылка. Кликнете по ней и URL будет вставлен в поле «Адрес». Следует отметить, что в случае с картинками (image), помимо ссылки, появляться и её уменьшенный вариант. Вот собственно и все. Спасибо за внимание.