Приветствую вас, дорогие читатели Хабра. Сегодня я расскажу вам о том, как удалять в MIGX несколько выделенных элементов сразу, а не по одному.
На одном из проектов мне нужно было организовать вывод нескольких несвязанных альбомов с картинками на странице. Было решено использовать MIGX. Во-первых не так давно в Gallery была найдена уязвимость, позволившая взломать сайт, во вторых MIGX дает наглядно понять контент-менеджеру что и куда он в данный момент загружает, это помогает избежать путаницы.
Прежде чем удалять несколько элементов за раз, нужно научить MIGX мульти-загрузке, для этого я воспользовался данной инструкцией. После выполнения всех указанных действий в MIGX появилась кнопка «Upload files», дающая возможность загружать несколько элементов за раз
Как это часто бывает, заказчик решил, что его фотографии недостаточно хороши и отправил архив с новыми, чтобы все заменить. Контент-менеджер покрылся холодным потом, представляя как будет по одной удалять огромное количество изображений.
Не хотелось чтобы из-за моего выбора MIGX вместо Gallery у человека прибавилось бесполезной работы, поэтому я обратился к гуглу и документации MIGX, ведь если есть multi-upload, то должен быть и multi-remove, и понеслась…
Выяснилось, что не одного меня заботит проблема удаления нескольких элементов в MIGX, но открывая ссылку за ссылкой я не находил нужного ответа, после чего я вернулся к мануалу по созданию MIGX с мультизагрузкой, начал изучать как там все работает и многое встало на свои места.
Я перешел в Приложения -> MIGX выбрал недавно созданную файловую систему и нажал Импорт/Экспорт чтобы изучить исходный код, который ранее вставил
Я нашел строчку contextmenus, добавляющую или убирающую контекстное меню, которое появляется при нажатии на MIGX правой кнопкой мыши
Но счастье было недолгим, оказалось, что что бы я туда не писал, новые кнопки не появлялись. При стирании названия элемента он пропадал из контекстного меню, но новые не появлялись. Через некоторое время я начал изучать другие пункты контекстного меню кроме импорт/экспорт и дошел до Flat formtabs
И это оказалось именно то, что нужно. В открывшемся окне появились настройки MIGX где можно выбрать какие кнопки добавить, какие убрать и прочее и я нашел наконец заветное удаление нескольких элементов, оно называется remove_migx и находится, как нетрудно догадаться, во вкладке Contextmenues.
После того как я все сохранил и проверив, выяснил, что все работает, то сообщил эту радостную весть нашему контент — менеджеру, радости которого не было предела.
Надеюсь, этот пост поможет тем кто ищет как научить MIGX удалять несколько элементов за раз, и сохранит им часы поиска.
Спасибо за внимание.
Автор: Железный человек