Показать сообщение отдельно
  #9 (permalink)  
Старый 22.09.2016, 17:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если бы такое и было возможным, объединение выбранных для загрузки и ранее выбранных (хотя это можно сделать,только не непосредственно с коллекцией выбранных), то делать этого совсем не нужно потому, что это накладно, кроме расточительства ничего не дает, да и просто глупо.

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

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

При каждой смене порядка (либо drag-and-drop или иным способом) сортировки, выбора удаления, у коллекции скрытых полей изменяется значение согласно их индексации в наборе.

Скрытые поля и флажки для удаления уже имеющихся изображений и такие же поля у добавляемых имеют разные имена полей, например upd и add. При этом поля имеющихся изображений связаны с ними по идентификатору (или иным способом, это зависит от того как хранятся данные на сервер и как они связаны с товаром), а у добавляемых изображений по их индексу в коллекции.

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

Выбор Удалить во вновь выбранном для загрузки означает не загружать его на сервер. Сама загрузка как и редактирование всех параметров товара производится посредством Ajax. Используя FormData можно загрузить из коллекции выбранных только те, что не выбраны для удаления.
Ответить с цитированием