🎯 Цель
Создание визуального модуля билдера предметов для системы 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];
📦 Раздел 4. Технология загрузки предметов
Все предметы для билдера хранятся как обычные новости в категории DLE с ID = 11.
При открытии формы добавления или редактирования новости:
JavaScript отправляет AJAX-запрос на специальный PHP-файл (например, load_items.php), который:
загружает все новости из категории 11;
читает доп. поля
itemimageиrune-color;исключает заданные ID (например,
$excluded_items = [12, 45]);возвращает JSON или HTML со списком предметов.
После получения данных:
модуль отображает предметы в модалке;
позволяет фильтровать их по цвету;
позволяет перетаскивать в любое активное поле.
🔧 Раздел 5. Поведение и логика drag-n-drop полей
Каждое поле с включённым drag-n-drop:
отображает область, куда можно перетаскивать предметы;
отображает текущие выбранные предметы (иконки) в заданном порядке;
позволяет менять порядок перетаскиванием;
позволяет удалить предмет (иконка с крестиком);
не допускает повторного добавления одного и того же предмета;
сохраняет выбранные ID как строку через запятую (например:
3,7,12,6,8).
Поля должны иметь уникальные ID и быть связаны с input name="xfield[имя]".
Должна быть возможность использовать несколько таких полей на одной странице.
💾 Раздел 6. Поведение при сохранении и редактировании
При сохранении новости:
выбранные предметы сохраняются в скрытом input-поле;
это значение передаётся в DLE и сохраняется как обычное значение дополнительного поля.
При повторном редактировании:
модуль считывает строку ID (например:
"5,9,14");по этим ID воссоздаются предметы в интерфейсе в нужном порядке;
пользователь видит те же предметы, которые были сохранены, и может отредактировать.
Вся логика сохраняется в рамках стандартного механизма DLE xfields.
🎨 Раздел 7. Дизайн и реализация
Использовать дизайн и стили из макета
dragitems.html
🎛️ Раздел 8. Поведение drag-n-drop и модалки
Перетаскивание:
пользователь может менять порядок предметов;
placeholder показывает место вставки;
никаких ограничений на перемещение, кроме проверки на дублирование.
Модальное окно:
всегда доступно при добавлении или редактировании новости;
не закрывается автоматически при выборе;
работает для всех drag-н-дроп зон на странице.
📑 Раздел 9. Что предоставить:
Полный рабочий модуль:
патч для
xfields.phpи всех необходимых файловинструкции по установке.
Документация:
по подключению модуля и настройке.
Совместимость:
Полная совместимость с DLE 14.0 и
модулем xField Tab — группирование дополнительных полей по вкладкам.
Приложения 1
-
319 Добрый день -разрабатываем фреймворки на Lavarell и мобильные приложения на IOS и android под ключ.
Проекты:
1.Добрый день готовы выполнить ваш заказ под ключ.
Разрабатываем сайты на PHP и мобильные приложения под IOS и Android.
Имеем опыт в создании CRM/ERP систем.
Готовы выполнить ваш заказ под ключ.
Добрый день,разрабатываем сайты на Wordpress и мобильные приложения под IOS и Android. Совокупный опыт в разработке составляет 7 лет. Готовы выполнить ваш заказ под ключ.
1. Проекты
https://berkanaplus.com.ua/ -Этот сайт переносил и настраивал сервер.
… 2. https://leondesign.kyiv.ua/
Обновления версии PHP и обновления плагинов.
3. https://peg.com.ua/
Разработка нового модуля для сайта динамического обновления стоимости продукции.
https://uvali.com.ua/
Настраивания выделенного сервера VPS.
Актуальные фриланс-проекты в категории CMS
Разработка интернет-магазина WordPress + WooCommerce# Development of an Online Store for Agricultural Equipment The design mockup is currently in the final stages of development. I fully understand that without a ready mockup, the final estimate will be inaccurate. However, if you have already implemented similar e-commerce… CMS, HTML и CSS верстка ∙ 1 день 17 часов назад ∙ 74 ставки |
Нужна интеграция KeyCRM → ПРРО Кашалот |
Ищу специалиста по WordPress/Elementor/Woo, который имеет большой опыт работы с шаблоном Woodmart
5000 UAH
Необходимо обновить визуал и структуру интернет-магазина стоматологических товаров (ссылку отправлю в ЛС) Сайт работает на связке WordPress + WooCommerce. Шаблон — Woodmart. Задача: Обновление шапки (header), подвала (footer) и контента на главной странице согласно готовому… CMS, HTML и CSS верстка ∙ 3 дня 8 часов назад ∙ 37 ставок |
Не приходят заявки в ТГ ocStore (Опенкарт)Перестали приходить заявки с интернет-магазина в Телеграм. Есть 5 сайтов, которые расположены на одном хостинге, версия движка и модулей одинаковая, но несколько недель назад со всех сайтов перестали приходить заявки в ТГ (ТГ боты и группы разные). На почту приходят заявки.… CMS, Веб-программирование ∙ 3 дня 10 часов назад ∙ 66 ставок |
Интеграция HubSpot с источниками лидогенерации (Perspective, WordPress, Meta Ads)
4000 UAH
Добрый день! Цель проекта: Построение сквозной автоматизации сбора лидов из мультиплатформенной экосистемы в HubSpot CRM. Необходимо обеспечить создание/обновление контактов и автоматическое открытие сделок (Deals) с сохранением полного цепочки атрибуции трафика (источник,… CMS, Обработка данных ∙ 3 дня 13 часов назад ∙ 18 ставок |