🎯 Мета
Створення візуального модуля конструктора предметів для системи 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
Фрілансер Shopify та експерт-дизайнер - живе співробітництво (проект за годину)Я шукаю експерта з Shopify та дизайну, щоб працювати безпосередньо зі мною в режимі реального часу; ми будемо разом будувати, проектувати та навчатися в режимі реального часу через спільний екран за встановленим графіком. Нашим першим завданням буде оплачуваний тестовий проект.… CMS, Дизайн сайтів ∙ 18 годин 5 хвилин тому ∙ 4 ставки |
Комплексний аудит та розвиток сайту на WordPress/WooCommerceКомплексний аудит та розвиток сайту на WordPress/WooCommerce Сайт: https://www.vashstatus.com.ua/ Ми займаємося продажем вхідних та міжкімнатних дверей. Основна задача сайту — залучення клієнтів до офлайн-салону, а також отримання заявок і онлайн-продажів. Шукаємо спеціаліста… CMS, Веб-програмування ∙ 1 день 19 годин тому ∙ 46 ставок |
Магазин промислового швейного обладнання
22 000 UAH
Потрібно зробити інтернет-магазин з продажу промислового швейного обладнання під ключ . Зрозумілий магазин із зручним функціоналом . CMS, Веб-програмування ∙ 1 день 20 годин тому ∙ 104 ставки |
Розробка інтернет-магазину WordPress + WooCommerce# Розробка інтернет-магазину сільськогосподарської техніки Макет дизайну зараз на фінальній стадії розробки. Я чудово розумію, що без готового макету фінальна оцінка буде неточною. Проте, якщо ви вже реалізовували подібні e-commerce проєкти зі складною структурою, вашого досвіду… CMS, HTML та CSS верстання ∙ 5 днів 4 години тому ∙ 79 ставок |
Потрібна інтеграція KeyCRM → ПРРО Кашалот |