Удаление нескольких элементов в MIGX

в 17:52, , рубрики: modx

Приветствую вас, дорогие читатели Хабра. Сегодня я расскажу вам о том, как удалять в MIGX несколько выделенных элементов сразу, а не по одному.

На одном из проектов мне нужно было организовать вывод нескольких несвязанных альбомов с картинками на странице. Было решено использовать MIGX. Во-первых не так давно в Gallery была найдена уязвимость, позволившая взломать сайт, во вторых MIGX дает наглядно понять контент-менеджеру что и куда он в данный момент загружает, это помогает избежать путаницы.

Прежде чем удалять несколько элементов за раз, нужно научить MIGX мульти-загрузке, для этого я воспользовался данной инструкцией. После выполнения всех указанных действий в MIGX появилась кнопка «Upload files», дающая возможность загружать несколько элементов за раз

Удаление нескольких элементов в MIGX - 1

Как это часто бывает, заказчик решил, что его фотографии недостаточно хороши и отправил архив с новыми, чтобы все заменить. Контент-менеджер покрылся холодным потом, представляя как будет по одной удалять огромное количество изображений.

Не хотелось чтобы из-за моего выбора MIGX вместо Gallery у человека прибавилось бесполезной работы, поэтому я обратился к гуглу и документации MIGX, ведь если есть multi-upload, то должен быть и multi-remove, и понеслась…

Выяснилось, что не одного меня заботит проблема удаления нескольких элементов в MIGX, но открывая ссылку за ссылкой я не находил нужного ответа, после чего я вернулся к мануалу по созданию MIGX с мультизагрузкой, начал изучать как там все работает и многое встало на свои места.

Я перешел в Приложения -> MIGX выбрал недавно созданную файловую систему и нажал Импорт/Экспорт чтобы изучить исходный код, который ранее вставил

Удаление нескольких элементов в MIGX - 2

Я нашел строчку contextmenus, добавляющую или убирающую контекстное меню, которое появляется при нажатии на MIGX правой кнопкой мыши

Удаление нескольких элементов в MIGX - 3

Но счастье было недолгим, оказалось, что что бы я туда не писал, новые кнопки не появлялись. При стирании названия элемента он пропадал из контекстного меню, но новые не появлялись. Через некоторое время я начал изучать другие пункты контекстного меню кроме импорт/экспорт и дошел до Flat formtabs

Удаление нескольких элементов в MIGX - 4

И это оказалось именно то, что нужно. В открывшемся окне появились настройки MIGX где можно выбрать какие кнопки добавить, какие убрать и прочее и я нашел наконец заветное удаление нескольких элементов, оно называется remove_migx и находится, как нетрудно догадаться, во вкладке Contextmenues.

Удаление нескольких элементов в MIGX - 5

После того как я все сохранил и проверив, выяснил, что все работает, то сообщил эту радостную весть нашему контент — менеджеру, радости которого не было предела.

Надеюсь, этот пост поможет тем кто ищет как научить MIGX удалять несколько элементов за раз, и сохранит им часы поиска.

Спасибо за внимание.

Автор: Железный человек

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js