Виджет Simple photo manager

25 Ноябрь 2010

Вот написал (наклепал) еще один виджет для системы управления контентом Modx 1.0.4. Виджет называется Simple photo manager, хотя сами файлы, да и директория называется imagesman. Так несколько короче. Подключается виджет как обычно mm_widget_imagesman('imgmanager'); в чанке mm_rules или файле mm_rules.inc.php, ну это у кого как настроено.

Вот так выглядит виджет:

Виджет Simple photo manager

Как видите он практически полностью повторяет пример "Simple photo manager" из jQuery UI. Но есть и небольшие отличия.

Скачать файл вы можете по этой ссылке: imagesman.tar.bz2

Попробовать плагин в действии поссылке: Пример Simple photo manager

Сразу хочу предупредить что это альфа версия. То есть версия протестирована только мною и требуется более окончательного тестирования и доработки. Например виджет не работает в  internet explorer 8. Но тут сразу оговорюсь, я попробовал и стандартные widgets из managermanager, так они тоже не работают в IE8. Поэтому я не стал искать причины этого недуга. Возможно когда-нибудь я этим займусь, но не обещаю.

Виджет позволяет манипулировать - управлять картинками в одном tv-параметре. Конечно в Modx можно управлять картинками, но как мне показалось не совсем удобно для каждой картинки создавать отдельный tv-параметр. Вообще виджет  Simple photo manager создает такую структуру:
{
"1":{"src":"assets/images/bild.jpeg","alt":"alt1"},
"2":{"src":"assets/images/turk.jpeg","alt":"alt2"},
"3":{"src":"assets/images/tayland.jpeg","alt":"alt3"}
}

Как видно из примера структура очень простая и очень подходит для работы с JSON. Отличается же он от оригинала дополнительной иконкой карандаша с помощью которой открывается дополнительное окно для редактирования параметра "ALT" у картинок.

Из трудностей по установке надо отметить что для правильной работы виджета необходим framework  jquery 1.4.2, а по умолчанию установлен framework   jquery 1.3.2. И все мои попытки изменить framework стандартным образом провалились.

Как я предполагал стандартный способ смены framework jquery на другую версию производится во вкладке "ЭЛЕМЕНТЫ"->"УПРАВЛЕНИЕ ЭЛЕМЕНТАМИ"->"ПЛАГИНЫ". выбираем плагин "ManagerManager" и переходим во вкладку "КОНФИГУРАЦИЯ". Вот во вкладке "КОНФИГУРАЦИЯ" есть поле "jQuery URL override" в котором необходимо написать новую версию framework jquery и в поле чуть выше выбрать "manual url(specify below)". Но что бы я не писал в поле "jQuery URL override" framework не подключался. Я пробовал по разному, с "http://" , с полным путем, только названия файла framework, но ни как не получалось. framework  jquery 1.4.2 не подключался. Сам файл jquery-1.4.2.min.js я положил в /assets/js/ туда же где лежит jquery-1.3.2.min.js. В конце концов я вышел из ситуации изменив переменную которая отвечает за подключения другой версии framework jquery. Изменения я внес в файл /assets/plugins/managermanager/mm.inc.php

// JS URL
switch ($which_jquery) {
case 'local (assets/js)':
$js_url = $js_default_url_local;
break;

case 'remote (google code)':
$js_url = $js_default_url_remote;
break;

case 'manual url (specify below)':
//$js_url = $js_src_override;
$js_url = '/assets/js/jquery-1.4.2.min.js';
break;
}

Обратите внимание на строчку выделенную красным. Вот в этой строчке и идет подключение другой версии framework jquery.

Вы можете прочитать о принципе работы как я его понимаю на следующей странице: Что я на программировал "Виджет Simple photo manager"

Также не обходимо ставить "ТИП ВВОДА" для у tv-параметра надо ставить "Textarea", так как картинок может быть много, да и "ALT" может быть длинным и в стандартное "ПОЛЕ ВВОДА" - "text" не войдет.

Андрей Лебедев

,

, , , , , , , ,

Комментарий

Нет комментарий.

Комментировать: