diff --git a/src/Form/LinkField.php b/src/Form/LinkField.php index fcc5eeaa..fef8deac 100644 --- a/src/Form/LinkField.php +++ b/src/Form/LinkField.php @@ -6,11 +6,12 @@ use SilverStripe\LinkField\Models\Link; use SilverStripe\LinkField\Form\Traits\AllowedLinkClassesTrait; use SilverStripe\LinkField\Form\Traits\LinkFieldGetOwnerTrait; +use SilverStripe\Forms\HasOneRelationFieldInterface; /** * Allows CMS users to edit a Link object. */ -class LinkField extends FormField +class LinkField extends FormField implements HasOneRelationFieldInterface { use AllowedLinkClassesTrait; use LinkFieldGetOwnerTrait; diff --git a/src/Form/Traits/LinkFieldGetOwnerTrait.php b/src/Form/Traits/LinkFieldGetOwnerTrait.php index 62719df6..575a4bf2 100644 --- a/src/Form/Traits/LinkFieldGetOwnerTrait.php +++ b/src/Form/Traits/LinkFieldGetOwnerTrait.php @@ -30,8 +30,8 @@ private function getOwnerFields(): array // Remove namespaces from inline editable blocks // This will return an empty array for non-inline editable blocks (e.g. blocks in a gridfield) $arr = ElementalAreaController::removeNamespacesFromFields([$relation => ''], $owner->ID); - if (array_key_exists(0, $arr)) { - $relation = array_keys($arr)[0]; + if (!empty($arr)) { + $relation = array_key_first($arr); } } return [