Подключите нашего Telegram-бота для уведомлений о новых проектах

Заказ закрыт
Модуль Drag & Drop билдера предметов для DLE 14.0

Разместить заказ
d
Заказчик
Отзывы фрилансеров: + 0 - 0
Зарегистрирован на сайте меньше месяца
Бюджет: по договоренности
🎯 Цель
Создание визуального модуля билдера предметов для системы DLE 14.0, позволяющего превращать дополнительные поля (типа "одна строка") в drag-n-drop интерфейс с сохранением данных.
Система должна быть полностью интегрирована в админку DLE и использовать макет dragitems.html в качестве визуального шаблона.

📁 Раздел 1. Расширение типа дополнительного поля "одна строка"
В админке DLE в разделе редактирования дополнительных полей нужно добавить новый чекбокс:

☑ Включить drag-n-drop билдер предметов

Этот чекбокс добавляется только для полей типа "одна строка".

При его активации:
поле автоматически превращается в drag-n-drop интерфейс;

при деактивации отображается обычное текстовое поле;

значение чекбокса сохраняется в параметре поля (например, editedxfield[28]).

Поведение должно быть совместимо с системой xfields:
чекбокс отображается в форме редактирования доп. поля;

его значение сохраняется и подгружается при редактировании;

в админке, в форме добавления/редактирования новости, на основе этого параметра подключается drag-n-drop интерфейс.

🪟 Раздел 2. Модальное окно с предметами (единый источник)
Создаётся единое модальное окно, которое:

отображает доступные предметы;

работает со всеми полями, где активирован drag-n-drop;

открывается и закрывается вручную кнопкой;

не закрывается автоматически после выбора предметов.

Источник:
Предметы подгружаются из категории DLE с ID = 11.

Каждый предмет должен иметь:
поле itemimage (изображение предмета);

поле rune-color (тип урона: red, orange, green, blue).

Каждый предмет в модалке должен содержать свой ID.

Именно этот ID будет передаваться в поле drag-n-drop при перетаскивании.

❗ Каждый предмет в модальном окне должен содержать свой фактический ID (ID материала), который будет использоваться при перетаскивании предмета в зону “дроп”. После сброса предмета его ID сохраняется в виде строки значений через запятую — например: 3,7,12,6,8. Эти значения являются итоговым содержимым дополнительного поля.

Фильтрация:
модалка должна иметь фильтры по цвету (red, orange, green, blue);

кнопка "Сброс" показывает все предметы.

Исключения:
в коде модуля можно задать массив ID предметов, которые не должны отображаться;
пример:

php$excluded_items = [12, 57, 88];

📦 Раздел 3. Технология загрузки предметов
Все предметы для билдера хранятся как обычные новости в категории DLE с ID = 11.

При открытии формы добавления или редактирования новости:
JavaScript отправляет AJAX-запрос на специальный PHP-файл (например, load_items.php), который:

загружает все новости из категории 11;

читает доп. поля itemimage и rune-color;

исключает заданные ID (например, $excluded_items = [12, 45]);

возвращает JSON или HTML со списком предметов.

После получения данных:
модуль отображает предметы в модалке;

позволяет фильтровать их по цвету;

позволяет перетаскивать в любое активное поле.

🔧 Раздел 4. Поведение и логика drag-n-drop полей
Каждое поле с включённым drag-n-drop:

отображает область, куда можно перетаскивать предметы;

отображает текущие выбранные предметы (иконки) в заданном порядке;

позволяет менять порядок перетаскиванием;

позволяет удалить предмет (иконка с крестиком);

не допускает повторного добавления одного и того же предмета;

сохраняет выбранные ID как строку через запятую (например: 3,7,12,6,8).

Поля должны иметь уникальные ID и быть связаны с input name="xfield[имя]".

Должна быть возможность использовать несколько таких полей на одной странице.

💾 Раздел 5. Поведение при сохранении и редактировании
При сохранении новости:
выбранные предметы сохраняются в скрытом input-поле;

это значение передаётся в DLE и сохраняется как обычное значение дополнительного поля.

При повторном редактировании:
модуль считывает строку ID (например: "5,9,14");

по этим ID воссоздаются предметы в интерфейсе в нужном порядке;

пользователь видит те же предметы, которые были сохранены, и может отредактировать.

Вся логика сохраняется в рамках стандартного механизма DLE xfields.

🎨 Раздел 6. Дизайн и реализация
Использовать дизайн и стили из макета dragitems.html

🎛️ Раздел 7. Поведение drag-n-drop и модалки
Перетаскивание:
пользователь может менять порядок предметов;

placeholder показывает место вставки;

никаких ограничений на перемещение, кроме проверки на дублирование.

Модальное окно:
всегда доступно при добавлении или редактировании новости;

не закрывается автоматически при выборе;

работает для всех drag-н-дроп зон на странице.

📑 Раздел 8. Что предоставить:
Полный рабочий модуль:
патч для xfields.php  и всех необходимых файлов

инструкции по установке.

Документация:
по подключению модуля и настройке.

Совместимость:
Полная совместимость с DLE 14.0 и

модулем xField Tab — группирование дополнительных полей по вкладкам.
Разделы:
Опубликован:
08.05.2025 | 18:50 [поднят: 08.05.2025 | 18:50] [последние изменения: 09.05.2025 | 23:06]
Заказ находится в архиве
Откликнуться Посмотреть другие заказы

Теги: перенести сайт на хостинг, создать сайт на joomla, cms установить, перенести сайт joomla, wordpress перенести сайт, настроить админку

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».