Главная » Веб-блог

Установка MCFileManager и MCImageManager на ModX

Стандартный файловый менеджер mcpuk никуда не годится, поэтому опишем установку плагинов MCFileManager и MCImageManager от создателей TinyMCE на CMS ModX Evolution.

  1. Скачиваем MCFileManager и MCImageManager
  2. Копируем папки filemanager и imagemanager их архива в папку assets\plugins\tinymce\jscripts\tiny_mce\plugins
  3. В админке Modx идем в "Инструменты"->"Конфигурация"->"Интерфейс и представление"->"Настройки TinyMCE"->
    Тема WYSIWYG-редактора Индивидуальная
  4. В поле Индивидуальные плагины добавляем filemanager, imagemanager
  5. Все настройки лежат в файле assets/plugins/tinymce/jscripts/tiny_mce/plugins/filemanager/config.php

Основные настройки файла config.php:
$mcFileManagerConfig['filesystem.rootpath']
Абсолютный или относительный путь к файлам(эта папка будет открываться по умолчанию при вызове плагина)
Незабываем поставить права чтения/записи на эту папку
$mcFileManagerConfig['general.debug'] = true; Включение режима отладки (в алертах всплывают все ошибки и предупреждения)
$mcFileManagerConfig['upload.maxsize'] Максимальный размер файла для загрузки
$mcFileManagerConfig['upload.overwrite'] Перезаписывание файлов с одинаковыми именами
$mcFileManagerConfig['upload.extensions'] = "*"; Разрешение на загрузку файлов любых типов
$mcFileManagerConfig['download.extensions'] = "gif,jpg,htm,html,mp3,pdf,txt,zip"; Разрешение на скачивание указанных типов

Подключение MCFileManager  и MCImageManager к редактору TinyMce завершено.

Для того, чтоб файлменеджер цеплялся к tv-параметрам с типом file нужно открыть файл manager/includes/tmplvars.inc.php и внутрь события case "file" (174 строка) после 

 $field_html .="<script type=\"text/javascript\">

 добавляем

function BrowseFileServer(ctrl) {
mcFileManager.open('mutate',ctrl);
}

Для привязки менеджера изображений  в событие case "image" в том же файле manager/includes/tmplvars.inc.php находим функцию

function BrowseServer(ctrl) {
	lastImageCtrl = ctrl;
	var w = screen.width * 0.7;
	var h = screen.height * 0.7;
	OpenServerBrowser('".$base_url."manager/media/browser/mcpuk/browser.html?Type=images&Connector=".$base_url."manager/media/browser/mcpuk/connectors/php/connector.php&ServerPath=".$base_url."', w, h);
} 

Которая отвечает за окошко вызова менеджера изображений для tv-параметров с типом image. И заменяем ее на

function BrowseServer(ctrl) {
	mcImageManager.open('mutate',ctrl);
} 

Для tv-параметров с другим типом ищем событие case "тип_тв_параметра"

 Незабывайте настраивать конфигурацию и писать вызов функции как для MCFileManager так и для MCImageManager.
Если установка плагинов прошла успешно, можно удалять файлы стандартного mcpuk  (site/manager/media/browser/mcpuk/)

P.S. В процессе работы выяснилось, что менеджеры не цепляются к кнопкам загрузки файлов, если на странице админ-панели не вызван сам TinyMCE (Например при создании ресурса "Веб-ссылка"). Пока не стал копаться в функциях вызова, а просто добавил к шаблону, на котором создается ресурс "веб-ссылка" tv-параметр типа RichText, - соответственно подцепился TinyMCE, а с ним и менеджер загрузки файлов и все счастливы.

cialis ordering from canada buy generic cialis online canada
cialis ordering from canada buy generic cialis online canada