Сборка MODx 0.9.6.3 включает TinyMCE 3.2.0.1 с файловым менеджером MCPUK. На этом, вроде бы неплохом менеджере мы уже обжигались - он не всегда видит PNG-файлы. Даже если это следствие каких-то наших ошибок (а мы не нашли причин) - всё равно - такой менеджер нам не нужен.
Для MODx существует сборка TinyMCE213AFM с AiaxFileManager (AFM) версии от 22 мая 2007 года. Выглядит он так:
Вроде бы такая сборка нас всем устраивает. Но это же устаревшая сборка, а всегда хочется самого нового. Захотелось нам соединить самую последнюю версию TinyMCE 3.2.1.1 с самой последней версией AFM - 4. Выглядит AFM-4 так (вариант обзора Details):
Или так (вариант обзора Thumbnails):
Вроде бы в AFM-4 появились приятные дополнения (разные режимы просмотра, линейка ссылок в стиле Breadcrumbs, постраничный вывод), но как-то он нам сразу возьми, да не поглянись. В разных браузерах шибко по-разному отображается, да и работает заметно медленнее, да и результат выбора в TinyMCE возвращает в виде полного, а не относительного имени файла. Конечно все это где-то и как-то можно настроить, вопрос в том - где и как?
Чтобы не забыть, что делалось мы написали несколько страниц с протоколом своих мучений. А потом все выкинули - зачем засорять сайт описанием безрезультатных действий.
Не удалась и попытка прикрутить к новому TinyMCE старого AFM. Там вроде бы удалось добиться запуска менеджера, но никак он не захотел ни возвращать результат по кнопке Выбор, ни закрываться по кнопке Отменить. Ни днем, ни вечером, ни "после вчерашнего", ни на свежую голову.
В результате пришлось вернуться к сборке TinyMCE213AFM - там все работает и вроде бы всё, как надо. Но и при настройке этой версии пришлось кое-что проделать.
Настройки AFM
1. Первым делом стало вылетать вот такое сообщение:
Please use the MODx Content Manager instead of accessing this file directly.
Эта ошибка обсуждалась на англоязычном форуме, но предложенный там метод лечения не помог.Предлагалось в
assets/plugins/ajaxfilemanager/inc/config.base.php фрагмент кода
заменить на
Не помогло! Вылечилось просто "заремливанием" этого участка кода.
2. Затем пришлось изменить в файле assets/plugins/ajaxfilemanager/inc/data.php код
Array ( [currentFolderPath] => ../../../../uploaded/file/ [new_folder] => New Folder )
на
Array ( [currentFolderPath] => ../../images/modx/ [new_folder] => new_folder )
Это файл, в который AFM записывает свое последнее состояние - последнюю папку, в которой он шарился. Надо, чтобы такая папка существовала.
3. Затем пришлось русский язык прикрутить. Создал отсутствующий ранее assets/plugins/ajaxfilemanager/langs/ru.php
и в assets/plugins/ajaxfilemanager/inc/config.base.php в участке кода
define('CONFIG_LANG_DEFAULT',
(CONFIG_QUERY_STRING_ENABLE && !empty($_GET['language'])?secureFileName($_GET['language']):'en'));
изменил en на ru.
И тут мы попались на детскую ошибку! Cразу сыплются варнинги в огромном количестве:
Warning:Cannot modify header information - headers already sent by (output started at ....
Это потом мы стали такие умные и узнали, что эти ошибки возникают при сохранении файла в UTF-8 с сигнатурой BOM, а тогда пришлось помучиться, прежде чем ошибка была установлена.
После этих несложных манипуляций редактор TinyMCE с AjaxFileManager стали вполне прилично работать. Однако обнаружилась ошибка браузера Safari, описанная в заметке MODx и браузеры.Так что всё-таки будем дожидаться свежей сборки MODx с AFM.
Позже мы столкнулись с тем, что AFM показывает не все подкаталоги в assets, а только files, flash, images, galleries, media. В принципе, так и должно бы быть, но нам надо и в templates заглядывать, да мало ли куда. Как найти ограничения на папки - пока не удалось.
Причем, если мы создаем в assets какой-то свой каталог, он доступен для просмотра. Но не видны cache, docs, export, import, js, modules, plugins, site, snippets, templates.
Эффект проявляется на локальной машине, поэтому атрибуты папок не влияют.
Однако всё-таки хочется использовать более свежую версию редактора. После того, как мы дождались сборки tinyMCE 3.2.1.1 для MODx, была предпринята ещё одна попытка замены браузера MCPUK на AFM. Увы, не получилось. Тогда мы просто заменили скрипты самого редактора версии 2.1.3 на скрипты версии 3.2.1.1 не меняя больше ничего. Вроде бы всё работает, но надо понаблюдать.
Написать комментарий
Реплика №1: 03.02.2011, 13:50:41