From d353ae5ebd36b3e354becce4dcd1a076cea444e3 Mon Sep 17 00:00:00 2001 From: Iwona Just Date: Thu, 19 Sep 2024 11:46:15 +0100 Subject: [PATCH] ensure field is set last on the layout element # Conflicts: # src/fieldlayoutelements/CustomField.php --- src/fieldlayoutelements/CustomField.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/fieldlayoutelements/CustomField.php b/src/fieldlayoutelements/CustomField.php index e8db9ecef50..2c7177a5bcc 100644 --- a/src/fieldlayoutelements/CustomField.php +++ b/src/fieldlayoutelements/CustomField.php @@ -35,8 +35,16 @@ class CustomField extends BaseField */ public function __construct(?FieldInterface $field = null, $config = []) { - $this->_field = $field; + // ensure we set the field last, so it has access to other properties that need to be set first + // see https://github.com/craftcms/cms/issues/15752 + if (isset($config['fieldUid'])) { + $fieldUid = $config['fieldUid']; + unset($config['fieldUid']); + $config['fieldUid'] = $fieldUid; + } + parent::__construct($config); + $this->_field = $field; } /**