From a95bd56b2b3b54b711e524c75be053e33593c52e Mon Sep 17 00:00:00 2001 From: Andrey Smakotin Date: Tue, 30 Dec 2025 02:59:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B0=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D1=81=D1=82=D0=BE=D0=B3=D0=BE=20select=20=D0=BD?= =?UTF-8?q?=D0=B0=20autocomplete=20=D1=81=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80=D0=B8=D0=B2?= =?UTF-8?q?=D1=8F=D0=B7=D0=BA=D0=B8=20=D0=B0=D1=82=D1=80=D0=B8=D0=B1=D1=83?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20=D0=BA=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80?= =?UTF-8?q?=D0=B0=D0=BC/=D0=BA=D0=BE=D0=BC=D0=BF=D0=BB=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Переиспользован модуль select2-product-search.js из orders - Заменен простой select на Select2 с AJAX поиском через API search_products_and_variants - Добавлена поддержка привязки как ProductKit, так и Product к значениям атрибутов - Обновлен метод _save_attributes_from_cards для обработки item_ids и item_types - Удалены дублирующиеся подключения jQuery и Select2 (используются из base.html) - Улучшен UX: живой поиск, отображение типа товара (🌹/💐), цены и наличия --- .../products/configurableproduct_form.html | 140 ++++++++++++------ .../views/configurableproduct_views.py | 89 ++++++----- 2 files changed, 144 insertions(+), 85 deletions(-) diff --git a/myproject/products/templates/products/configurableproduct_form.html b/myproject/products/templates/products/configurableproduct_form.html index 9083444..01335a3 100644 --- a/myproject/products/templates/products/configurableproduct_form.html +++ b/myproject/products/templates/products/configurableproduct_form.html @@ -29,6 +29,30 @@ input[name*="DELETE"] { align-items: center; min-height: 38px; } + +/* Стили для autocomplete товаров/комплектов */ +.product-kit-select-wrapper { + flex: 1; + min-width: 200px; +} + +/* Отображение типа товара в Select2 */ +.select2-results__option .item-type-badge { + font-size: 0.7rem; + padding: 0.1rem 0.4rem; + margin-left: 0.3rem; + border-radius: 3px; +} + +.item-type-kit { + background-color: #0d6efd; + color: white; +} + +.item-type-product { + background-color: #198754; + color: white; +} {% endblock %} @@ -108,12 +132,6 @@ input[name*="DELETE"] { @@ -266,16 +285,17 @@ input[name*="DELETE"] { + + +