From 2c663e740b833168b3efe3ae0823f26a45cba5bc Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Tue, 24 Feb 2026 14:11:50 +0100 Subject: [PATCH] =?UTF-8?q?ver.=200.322:=20fix=20custom=5Ffields=20?= =?UTF-8?q?=E2=80=94=20jawne=20mapowanie=20kluczy=20w=20ProductRepository,?= =?UTF-8?q?=20sp=C3=B3jne=20!empty=20w=20ProductsApiController?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- autoload/Domain/Product/ProductRepository.php | 11 ++++++++++- autoload/api/Controllers/ProductsApiController.php | 2 +- updates/versions.php | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/autoload/Domain/Product/ProductRepository.php b/autoload/Domain/Product/ProductRepository.php index b7884c3..8eafad5 100644 --- a/autoload/Domain/Product/ProductRepository.php +++ b/autoload/Domain/Product/ProductRepository.php @@ -737,7 +737,16 @@ class ProductRepository // Custom fields (Dodatkowe pola) $customFields = $this->db->select('pp_shop_products_custom_fields', ['name', 'type', 'is_required'], ['id_product' => $id]); - $result['custom_fields'] = is_array($customFields) ? $customFields : []; + $result['custom_fields'] = []; + if (is_array($customFields)) { + foreach ($customFields as $cf) { + $result['custom_fields'][] = [ + 'name' => $cf['name'], + 'type' => !empty($cf['type']) ? $cf['type'] : 'text', + 'is_required' => $cf['is_required'], + ]; + } + } // Variants (only for parent products) if (empty($product['parent_id'])) { diff --git a/autoload/api/Controllers/ProductsApiController.php b/autoload/api/Controllers/ProductsApiController.php index 738a13d..f655aa9 100644 --- a/autoload/api/Controllers/ProductsApiController.php +++ b/autoload/api/Controllers/ProductsApiController.php @@ -507,7 +507,7 @@ class ProductsApiController continue; } $d['custom_field_name'][] = (string)$cf['name']; - $d['custom_field_type'][] = isset($cf['type']) ? (string)$cf['type'] : 'text'; + $d['custom_field_type'][] = !empty($cf['type']) ? (string)$cf['type'] : 'text'; $d['custom_field_required'][] = !empty($cf['is_required']) ? 1 : 0; } } diff --git a/updates/versions.php b/updates/versions.php index 2f0b4de..3645a46 100644 --- a/updates/versions.php +++ b/updates/versions.php @@ -1,5 +1,5 @@